我正在研究一个grep缺乏 -r/--recursive 选项的古老 UNIX 。
我需要找到我们的应用程序导致的错误,但我不知道我们的应用程序将错误写入哪个日志文件。但是,我确实知道日志文件位于/opt. 所以我想/opt在*.log. 这是我尝试过的:
find /opt | xargs grep FooErrorMessage
Run Code Online (Sandbox Code Playgroud)
-- 但这不起作用,我不知道在哪里指定我只想要*.log命令中的文件。
您只是想找到所有日志文件/opt并搜索它们,somethnig_I_am_looking_for对吗?为什么不:
find /opt -name '*.log' | xargs grep something
或者
find /opt | grep .log | xargs grep something
?
哦,因为我不知道如何评论其他答案:小心 *.log,因为 shell 会将其解释为通配符,并匹配当前目录中以 .log 结尾的所有文件.log。您应该使用 \*.log 或 '*.log'