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'
Другие вопросы по тегам