1

現在、変数は次のような文字列に設定されています。

offs3.0

それを2つの変数に分割したいと思います

offs
3.0

どうすればできますか?

後でオフを使用するためです。

if ("$1"=="offs")
here $1 is offs3.0
4

4 に答える 4

3

bash 正規表現を使用する

s=offs3.0
[[ $s =~ ^([^[:digit:]]+)(.*) ]] &&
   echo "${BASH_REMATCH[1]} - ${BASH_REMATCH[2]}"
offs - 3.0
于 2013-10-16T10:07:50.557 に答える
1

変数に含まれているかどうかをテストしたいだけの場合は、offs次を使用できます。

if [[ "$1" =~ "offs" ]]
then
    # do something
fi
于 2013-10-16T09:53:29.090 に答える
0

単一の sed を使用して実行することもできます:

s='offs3.0'
(set -- $(sed 's/^\([a-z]*\)\(.*\)$/\1 \2/' <<< "$s") && echo "arg1=$1" "arg2=$2")

arg1=offs arg2=3.0
于 2013-10-16T09:56:09.367 に答える