Bash обрезать часть текста [дубликат]
У меня есть результат, который выглядит так
root@machine:path# someapp report | grep Lost
Lost Workers: 0
Как я могу найти только цифру в конце?
Спасибо
3 ответа
Трубопроводы, которые выглядят как
grep | cut ...
или же
grep | tr | cut
или аналогичные почти всегда лучше использовать
awk
:
$ printf 'foo\nLost Workers: 0\nbar\n' | awk '/Lost/{print $NF}'
0
Как это:
someapp report | grep -i lost | tr -s ' ' | cut -d' ' -f4
Запустите приложение, направьте STDOUT через tr, чтобы удалить пробелы, вырежьте новую строку, используя пробел, а затем выберите 4-е поле.
контрольная работа:
echo " Lost Workers: 0" | tr -s ' ' | cut -d' ' -f4
Объедините поиск и синтаксический анализ с помощью sed:
echo ' Lost Workers: 0' | sed -n '/Lost/ s/.*[[:blank:]]//p'