次のような文字列があります。
GenFiltEff=7.092200e-01
Bashを使用して、=
文字の後にある数字を取得したいだけです。これを行う方法はありますか?
cut -d "=" -f 2 <<< "$your_str"
または
sed -e 's#.*=\(\)#\1#' <<< "$your_str"
値が既に変数に保存されている場合は、パラメーター展開を使用します。
$ str="GenFiltEff=7.092200e-01"
$ value=${str#*=}
またはread
を使用します
$ IFS="=" read name value <<< "GenFiltEff=7.092200e-01"
どちらにしても、
$ echo $value
7.092200e-01
echo "GenFiltEff=7.092200e-01" | cut -d "=" -f2
これは動作するはずです:
your_str='GenFiltEff=7.092200e-01'
echo $your_str | cut -d "=" -f2
${Word:$(expr index "$Word" "="):1}
7
を取得します。残りの文字列全体を意味すると仮定すると、:1
を省略します。