tail -fa 文件 10 分钟/直到 N 个匹配行?

Rog*_*mbe 4 tail

我有一个日志文件,我按如下方式处理:

grep pattern /var/log/whatever.log | \
    cut ... | sort | uniq -c | sort -rn | \
    etc....
Run Code Online (Sandbox Code Playgroud)

然而,日志文件相当大,并且从一天开始记录事件。它也不断地附加到。我只想处理最后的 文件的下一个 10 分钟。

所以我正在寻找如下内容:

killafter 600 tail -f /var/log/whatever.log | stuff
Run Code Online (Sandbox Code Playgroud)

或者,更好(等待捕获 1000 条匹配行需要多长时间):

tail -f /var/log/whatever.log | grep pattern | stopafter -lines 1000 | stuff
Run Code Online (Sandbox Code Playgroud)

有什么工具可以让我这样做吗?

Ulr*_*arz 6

roaima 正确地将您指向timeout命令,并head在读取所需的行数后实际终止,所以我希望与

timeout 600s tail -f ‹logfile› | ‹filter› | head -n 1000
Run Code Online (Sandbox Code Playgroud)

你会到达那里。