多个gz文件的第一行

时间:2019-10-28 19:58:04

标签: bash gunzip zcat

我知道有多种方法可以从gz文件中读取第一行,例如:

gzcat abc.gz | head -n 1

gunzip -c abc.gz | awk 'NR==1 {print; exit}'

但是,我有一个包含许多gz文件的目录,并且我想获取每个文件(* .gz)的标题以及其旁边的文件名,例如:

abc.gz: This is the first line of abc.txt def.gz: This is the first line of def.txt

有快速的方法吗?

[编辑:]感谢您的帮助!答案很接近,但是我只希望每个第一行输出旁边的文件名,以便我知道哪个行与哪个文件一起。

1 个答案:

答案 0 :(得分:0)

对于“ GNU” find,请使用:

find . -name "*.gz" -exec sh -c "echo -n '{}: '; gzcat {}|head -1" \;