tail -va 文件,同时排除单词列表

tail -va 文件,同时排除单词列表

我想跟踪一个不断写入的日志文件,但想排除各种“常见”条目,这样我就只能看到抛出的错误等。我可以通过管道连接到 grep -v“pattern”,但理想情况下,我想使用包含要跳过的条目的文件。有什么想法吗?

答案1

您可以grep -v "pattern"像您说的那样使用。但是不要pattern使用

`cat file_with_entires_to_skip`

记得包含反引号。因此你的命令将如下所示:

tail -v FILE | grep -v "`cat FILE_WITH_ENTRIES_TO_SKIP`"

答案2

选项-f允许grep指定一个包含模式的文件,每行一个模式。请参阅grep(1)手册页。

此外,unbuffer某些系统上可用的命令将禁用管道中通常发生的输出缓冲。否则,添加过滤器grep可能会延迟管道的输出。unbuffer(1)有关详细信息,请参阅手册页。

答案3

我的 grep 包含一个--exclude-from=FILE选项,可让我从文件中添加排除模式。我有:

my-macbook-pro:Sun America ianchesal$ grep --version
grep (GNU grep) 2.5.1

所以你可以这样做:

tail -f <file> | grep --exclude-from=excludes.txt

答案4

尝试使用:grep -v -f EXCLUDE_FILENAME_LIST TARGET_FILENAME

EXCLUDE_FILENAME_LIST = 您想要从搜索中 grep 出来的单词列表 TARGET_FILENAME = 您想要 grep 的主要文件

相关内容