Выделить часть строки из файла журнала, затем вывести на экран

Выделить часть строки из файла журнала, затем вывести на экран

Если у меня есть файл, который обновляет количество записей каждые 5 минут, вывод будет выглядеть примерно так:

timestamp name of log file dataset record count 8600

timestamp name of log file dataset record count 8610

Как эффективно выделить dataset record count XXXXи вывести на экран только эту строку?

решение1

Один из способов, с помощью awk:

awk 'match($0, "dataset record count [[:digit:]]+") { print substr($0, RSTART, RLENGTH) }' input

или передано через:

command | awk 'match($0, "dataset record count [[:digit:]]+") { print substr($0, RSTART, RLENGTH) }'

Или с помощью grep, который принимает -o:

grep -Eo 'dataset record count [[:digit:]]+' input

или по трубе:

command | grep -Eo 'dataset record count [[:digit:]]+'

Связанный контент