Ответ 1
cut -d "=" -f 2 <<< "$your_str"
или
sed -e 's#.*=\(\)#\1#' <<< "$your_str"
У меня есть строка, которая выглядит так:
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
.