我知道有多种方法可以从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
有快速的方法吗?
[编辑:]感谢您的帮助!答案很接近,但是我只希望每个第一行输出旁边的文件名,以便我知道哪个行与哪个文件一起。
答案 0 :(得分:0)
对于“ GNU” find
,请使用:
find . -name "*.gz" -exec sh -c "echo -n '{}: '; gzcat {}|head -1" \;