web-dev-qa-db-ja.com

文字の後に文字列を取得

次のような文字列があります。

 GenFiltEff=7.092200e-01

Bashを使用して、=文字の後にある数字を取得したいだけです。これを行う方法はありますか?

65
user788171
cut -d "=" -f 2 <<< "$your_str"

または

sed -e 's#.*=\(\)#\1#' <<< "$your_str"
61
Tuxdude

値が既に変数に保存されている場合は、パラメーター展開を使用します。

$ str="GenFiltEff=7.092200e-01"
$ value=${str#*=}

またはreadを使用します

$ IFS="=" read name value <<< "GenFiltEff=7.092200e-01"

どちらにしても、

$ echo $value
7.092200e-01
79
chepner
echo "GenFiltEff=7.092200e-01" | cut -d "=" -f2 
12
Greg Guida

これは動作するはずです:

your_str='GenFiltEff=7.092200e-01'
echo $your_str | cut -d "=" -f2
3
jman
${Word:$(expr index "$Word" "="):1}

7を取得します。残りの文字列全体を意味すると仮定すると、:1を省略します。

3
Explosion Pills