如何判断哪个 .log 文件包含错误?

cyz*_*czy 1 grep

我有一堆日志,我不想单独查看每个日志,但我想运行cat cluster-2010*.log | grep error但问题是,即使它返回了我想要的东西,我也不知道哪个 .log文件包含上一个命令显示的错误。

我该如何解决这个问题?

Ste*_*itt 13

grep 如果你给它文件名而不是提供它们的内容,它会告诉你自己:

grep error cluster-2010*.log
Run Code Online (Sandbox Code Playgroud)


for*_*are 5

那是Cat无用用途。简单地做:

grep error cluster-2010*.log
Run Code Online (Sandbox Code Playgroud)

你会得到类似这样的输出:

bil@daemon:foo %>grep error cluster-2010*.log 
cluster-20105.log:error
cluster-20107.log:error
Run Code Online (Sandbox Code Playgroud)


cut*_*tjm 5

如果你不想要一堆输出,例如如果我得到 auth.log 失败并且它吐出几百行,你可以使用:

grep -l error cluster-2010*.log

如果结果为假(不包含值)或文件名,则不打印任何内容。

如果您想弄清楚您要查找的单词所在的行号,您可以使用:

grep -n error cluster-2010*.log