Получить строку после символа

У меня есть строка, которая выглядит так:

 GenFiltEff=7.092200e-01

Используя Bash, я хотел бы просто получить номер после = персонаж. Есть ли способ сделать это?

5 ответов

Решение
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,

Другие вопросы по тегам