从日志文件中分离出部分行,然后打印到屏幕

从日志文件中分离出部分行,然后打印到屏幕

如果我有一个每 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:]]+'

相关内容