我有问题执行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了没有文件名的发生列表.除非我知道它出现在哪个文件(文件名)中,否则它对我来说没用.
我该如何解决?
您可以提供-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)