現在、変数は次のような文字列に設定されています。
offs3.0
それを2つの変数に分割したいと思います
offs
3.0
どうすればできますか?
後でオフを使用するためです。
if ("$1"=="offs")
here $1 is offs3.0
bash 正規表現を使用する
s=offs3.0
[[ $s =~ ^([^[:digit:]]+)(.*) ]] &&
echo "${BASH_REMATCH[1]} - ${BASH_REMATCH[2]}"
offs - 3.0
変数に含まれているかどうかをテストしたいだけの場合は、offs
次を使用できます。
if [[ "$1" =~ "offs" ]]
then
# do something
fi
単一の sed を使用して実行することもできます:
s='offs3.0'
(set -- $(sed 's/^\([a-z]*\)\(.*\)$/\1 \2/' <<< "$s") && echo "arg1=$1" "arg2=$2")
arg1=offs arg2=3.0