tail using Grep: 过滤某些没有。当 grep 匹配时,日志文件中的行数

tail using Grep: Filter certain no. of lines from the log file when ever there is a match on the grep

比方说,我想使用如下字符串 "xyz" grep 日志文件。

tail -f 文件名 | grep -vw "xyz"

在这种情况下,"xyz" 是我要搜索的关键字。这将从日志文件中过滤出匹配 "xyz" 的行。

我还想在日志文件中有一行匹配关键字 "xyz" 时从日志文件中过滤掉接下来的 10 行。我怎样才能做到这一点?

请帮忙!

您可以使用 sed 来实现这一点。

sed -e '/xyz/,+10d' filename

另一种使用 awk 的方法:

tail -f filename | awk 'BEGIN{skip=-1}/xyz/{skip=NR+10}NR>skip{print}'