Isole parte da linha do arquivo de log e imprima na tela

Isole parte da linha do arquivo de log e imprima na tela

Se eu tiver um arquivo que atualiza uma contagem de registros a cada 5 minutos, a saída será mais ou menos assim:

timestamp name of log file dataset record count 8600

timestamp name of log file dataset record count 8610

Como posso isolar dataset record count XXXXe imprimir efetivamente apenas essa string na tela?

Responder1

Uma maneira, com awk:

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

ou canalizado via:

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

Ou com um grep que aceita -o:

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

ou canalizado:

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

informação relacionada