我有一堆日志,我不想单独查看每个日志,但我想运行cat cluster-2010*.log | grep error
但问题是,即使它返回了我想要的东西,我也不知道哪个 .log文件包含上一个命令显示的错误。
我该如何解决这个问题?
Ste*_*itt 13
grep
如果你给它文件名而不是提供它们的内容,它会告诉你自己:
grep error cluster-2010*.log
Run Code Online (Sandbox Code Playgroud)
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)
如果你不想要一堆输出,例如如果我得到 auth.log 失败并且它吐出几百行,你可以使用:
grep -l error cluster-2010*.log
如果结果为假(不包含值)或文件名,则不打印任何内容。
如果您想弄清楚您要查找的单词所在的行号,您可以使用:
grep -n error cluster-2010*.log