zgrep目录中的多个gz文件

Mit*_*d1r 4 bash grep

我有问题执行zgrep命令word在我有近1000个*.gz文件的目录中查找.

我正在尝试:

find /var/www/page/logs/ -name "*.gz" -exec zgrep '/index.php' {} \;
Run Code Online (Sandbox Code Playgroud)

结果是:

GET : '/index.php'
GET : '/index.php'
GET : '/index.php'
Run Code Online (Sandbox Code Playgroud)

并且它有效.我得到index.php了没有文件名的发生列表.除非我知道它出现在哪个文件(文件名)中,否则它对我来说没用.

我该如何解决?

dev*_*ull 6

您可以提供-H列出文件名的选项:

find /var/www/page/logs/ -name "*.gz" -exec zgrep -H '/index.php' {} \;
Run Code Online (Sandbox Code Playgroud)

如果只需要匹配文件列表,请使用-l:

find /var/www/page/logs/ -name "*.gz" -exec zgrep -l '/index.php' {} \;
Run Code Online (Sandbox Code Playgroud)