ZGREP - 搜索多个精确的文件

ZGREP - 搜索多个精确的文件

我正在尝试从单个目录中搜索多个压缩文件。我使用 zgrep 当前搜索单个文件或基于通配符搜索所有文件。以下是我目前正在尝试的操作:

文件:04112012.z、04122012.z、04132012.z 等等。

  zgrep <search criteria> 0412* | less 

有什么方法可以让我仅搜索 04112012.z 和 04122012.z 吗?

谢谢。

答案1

是的,您可以在命令行上指定特定的文件名,并在给出所有必需的命令开关之后、但在将结果传输到less管道之前以空格分隔。

例如,您可以使用以下命令。-i使用 switch 可以忽略大小写(返回大写和小写结果),并-E调用 switch 以便可以使用扩展正则表达式:

zgrep -E -i 'gtk|layout' myfile1.gz myfile2.txt.gz myfile3.Z | less

如您所知,您可以使用*而不是文件名来选择该文件夹中的所有文件,以便grep搜索这些文件。此外,您还可以使用--include=regex--exclude=regex开关来定位特定的文件名组,就像在此文章中解释

如果您查看/bin/zgrep(run cat /bin/zgrep),它实际上只是一个包装脚本,并且所有常规grep命令开关在调用时均有效。如zgrep 手册页

Zgrep 在压缩或 gzip 文件上调用 grep。所有指定的选项都直接传递给 grep。如果未指定文件,则标准输入将在必要时解压缩并提供给 grep。否则,给定的文件将在必要时解压缩并提供给 grep。

有关详细信息,请参阅man zgrep以及man grep各自 Ubuntu 在线手册页

相关内容