bash获取string后的字符
我有一个string,看起来像这样:
GenFiltEff=7.092200e-01 使用bash,我只想得到=字符后面的数字。 有没有办法做到这一点?
 cut -d "=" -f 2 <<< "$your_str" 
要么
 sed -e 's#.*=\(\)#\1#' <<< "$your_str" 
如果该值已经存储在variables中,则使用参数扩展。
 $ 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 。 假设你的意思是整个string的其余部分,只要把:1 。