当我使用
我想要对返回的文件内容进行grep,查找其中的错误信息,并返回带有该信息的文件名。
如何grep返回文件的内容,而不是像使用“grep error *log | grep foo”那样只返回文件列表呢?
grep error *log
查找带有错误消息的日志文件时,它会返回一个日志文件列表。$grep error *log
Binary file out0080-2011.01.07-12.38.log matches
Binary file out0081-2011.01.07-12.38.log matches
Binary file out0082-2011.01.07-12.38.log matches
Binary file out0083-2011.01.07-12.38.log matches
然而,这些是文本文件,而不是二进制文件。
我不确定为什么它们被认为是二进制文件,因为前几行包含以下非错误信息:
out0134
-catch_rsh /opt/gridengine/default/spool/compute-0-17/active_jobs/327708.1/pe_hostfile
compute-0-17
我想要对返回的文件内容进行grep,查找其中的错误信息,并返回带有该信息的文件名。
如何grep返回文件的内容,而不是像使用“grep error *log | grep foo”那样只返回文件列表呢?
error.*foo
(可能是包含foo的错误消息)?在后一种情况下,你根本不需要两个模式。 - Cascabel