查找压缩文件和输出行

时间:2013-11-22 08:17:51

标签: bash compression

我想输出几个压缩文件的特定行。由于我的研究,我认为我必须提取文件,然后grep我的字符串。例如。 gunzip -c只输出STDOUT,我可以进一步处理。

我试过了:

find path/to/files -name archive.gz | xargs gunzip -c | awk 'NR==100{print}'

只输出一个字符串(第二个文件中的一个字符串)。没有xargs我收到错误: gzip:stdin:不是gzip格式

如果实际上有grep,sed,awk,perl或任何其他标准bash工具的选项,我很乐意获得通知。

1 个答案:

答案 0 :(得分:1)

您需要-exec选项才能发出shell命令:

find path/to/files -name archive.gz -exec sh -c "gzip -dc {} | awk 'NR==100'" \;

这将为find命令生成的每个输出执行命令。