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

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

GenFiltEff=7.092200e-01 

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

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

или

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

Используйте расширение параметра, если значение уже сохранено в переменной.

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

Или используйте

 $ 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 .

  • Как работает расширение параметра Bash?
  • Как удалить разрывы строк из файла в Java?
  • p: commandbutton action не работает внутри p: dialog
  • Команда не обнаружила ошибку в присвоении переменной Bash
  • Преобразование секретного ключа в строку и наоборот
  • Объединение нулевых строк в Java
  • Замена строк в java, аналогично шаблону скорости
  • Размер файла формата как MB, GB и т. Д.
  • Определите, является ли строка C допустимым int в C
  • Как обрезать пробелы?
  • C ++ printf с std :: string?
  • Давайте будем гением компьютера.