grep 在文件中搜索单词,并给出包含该单词的 ZIPfile 名称的结果

grep 在文件中搜索单词,并给出包含该单词的 ZIPfile 名称的结果

这是我正在做的事情:我想要找到哪些 zip 文件包含这个数字以及数字本身,例如我希望结果如下:

7505857289 AIRCDR

其中数字是我的搜索结果,并且AIRCDR是 100000 个文件中包含此数字的 zipfilename

答案1

根据您的评论,您搜索的“大海捞针”是一组G压缩文本文件(基于文件扩展名.gz)。您可以使用zgrep命令,它是命令的包装器grep,可动态解压缩 gzip 文件,并支持与其grep自身相同的大多数选项。

因此你可以简单地运行

zgrep -oHe 7505857289 <FILES>...

它将打印源文件的名称,后跟冒号和每个匹配的匹配字符序列。

如果您需要特定的输出格式,我建议您对其进行转换。对于匹配文本后跟空格和源文件名,则为:

zgrep ... | sed -re 's/^([^:]*):(.*)$/\2 \1/'

相关内容