我有大量.gz
文件,这些文件未压缩zcat
一起使用。
我希望从每条记录的来源中获取信息,如下例所示:
文件1:
1,2,3,4,5,6,7,NEW,9,10,11,12
13,14,15,55,884,66873,156,8
对 file1 到 file10000 使用以下代码:
zcat file.gz* | grep "NEW"
所需的输出应如下所示:
1,2,3,4,5,6,7,NEW,9,10,11,12 > file1
答案1
无需通过管道连接zcat
,grep
只需使用zgrep
:
zgrep NEW *.gz
默认情况下,当在多个文件上调用时,它会打印找到匹配项的文件的名称。 (它不会完全像您想要的输出,但根据您的问题,它应该满足您的需求。)
答案2
只需将-H
标志添加到您的zgrep
命令中即可:
zgrep -H "ERROR" *.gz