команда grep пытается получить числовое значение - PullRequest
0 голосов
/ 08 ноября 2018

Снизу текст в файле:

current_build: 22
previous_build: 55

Я только пытаюсь найти числовое значение current_build.

При выполнении следующей команды

grep -o -E '[0-9]+' textfile

Выходные данные оба числа, как показано ниже

22    
55

Как мне получить значение 22

Ответы [ 3 ]

0 голосов
/ 08 ноября 2018

Я бы использовал awk, потому что он переносим в отличие от grep -o, который работает только с GNU grep:

awk '/current_build/{print $NF}' file

awk разбивает входные данные на поля ,Разделитель полей по умолчанию представляет собой последовательность blank char.NF - это количество полей , $NF - это последнее поле.

0 голосов
/ 09 ноября 2018

Печатать только строки, соответствующие current_build в начале строки, и показывать деталь после последнего пробела:

sed -n 's/current_build:.* //p' file
0 голосов
/ 08 ноября 2018

С GNU grep:

grep -Po 'current_build: \K.*' file

\K: удаляет соответствующую деталь перед \ K

Выход:

22
...