所以我正在运行以下命令 cat / Users / sars / logs / testlogs / 2012-04-02 * / * / top | grep -H“httpd”
我正在使用*,因为有一堆目录(实际上是我正在查找的信息)并在顶部输出中查找短语httpd
但是当我这样做时我得到(标准输入):4951 root 1 96 0 14052K 6844K选择2 0:12 0.00%httpd
而不是文件名
如何查看这些目录,查看顶层文件并查找其中包含httpd的行,同时保留其所在文件的名称和路径?
答案 0 :(得分:0)
grep
可以将文件名作为参数:
grep -H "httpd" /Users/sars/logs/testlogs/2012-04-02*/*/top
答案 1 :(得分:0)
ack
对于这类事情来说是一个很好的工具,但它是非标准的。要使用grep,您可能想使用find:
find /Users/sars/logs/testlogs -type f \
-wholename '/Users/sars/logs/testlogs/2012-04-02*/*/top/*' \
-exec grep -H httpd {} \;