zgrep 目录中的多个 gz 文件

  • 本文关键字:gz 文件 zgrep bash grep
  • 更新时间 :
  • 英文 :


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

我正在尝试:

find /var/www/page/logs/ -name "*.gz" -exec zgrep '/index.php' {} ;

结果是:

GET : '/index.php'
GET : '/index.php'
GET : '/index.php'

它有效。我得到了找到它的没有文件名的index.php的出现列表。除非我知道它出现在哪些文件(文件名)中,否则这对我来说毫无用处。

我该如何解决它?

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

find /var/www/page/logs/ -name "*.gz" -exec zgrep -H '/index.php' {} ;

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

find /var/www/page/logs/ -name "*.gz" -exec zgrep -l '/index.php' {} ;

在两个文件中搜索 grep,然后它会告诉你它在哪个文件中找到了它:

find /var/www/page/logs/ -name "*.gz" -exec zgrep '/index.php' {} /dev/null ;

在/dev/null 中搜索不会花费很长时间。

下面是一个没有/dev/null 的示例:

zgrep chr your.gz
>chrMCHU - Calmodulin - Human, rabbit, bovine, rat, and chicken
>chrgi|5524211|gb|AAD44166.1| cytochrome b [Elephas maximus maximus]

和/dev/null

zgrep chr your.gz /dev/null
your.gz:>chrMCHU - Calmodulin - Human, rabbit, bovine, rat, and chicken
your.gz:>chrgi|5524211|gb|AAD44166.1| cytochrome b [Elephas maximus maximus]

相关内容

  • 没有找到相关文章

最新更新