我试图从一个目录中搜索多个压缩文件。我正在使用zgrep,目前搜索一个单独的文件或所有基于一个外卡字符。以下是我目前正在尝试的:
档案: 04112012.z,04122012.z,04132012.z等。
zgrep <search criteria> 0412* | less 有什么方法可以让我说,只搜索04112012.z和04122012.z?
谢谢。
发布于 2013-03-22 18:16:37
是的,在给出所有所需的命令开关之后,您可以在命令行上指定特定的文件名,用空格分隔,但在将结果输送到less之前。
例如,您可以使用下面的命令。使用-i开关可以忽略大小写(返回大小写结果)和调用-E,以便可以使用扩展正则表达式:
zgrep -E -i 'gtk|layout' myfile1.gz myfile2.txt.gz myfile3.Z | less如您所知,您可以使用*而不是文件名来选择该文件夹中的所有文件,以便grep搜索这些文件。此外,您还可以使用--include=regex和--exclude=regex开关来针对特定的文件名组,比如在本文中解释。
如果您看一下/bin/zgrep (运行cat /bin/zgrep),它实际上只是一个包装脚本,所有普通的grep命令开关在被调用时都是有效的。正如zgrep手册所指出的,
Zgrep对压缩或压缩的文件调用grep。指定的所有选项都直接传递给grep。如果没有指定文件,则在必要时对标准输入进行解压缩,并将其输入到grep。否则,如果有必要,给定的文件将被解压缩,并提供给grep。
有关更多信息,请参见man zgrep、man grep和各自 Ubuntu联机手册。
https://askubuntu.com/questions/133300
复制相似问题