0

我知道有多种方法可以从 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

有没有快速的方法来做到这一点?

[编辑:] 感谢您的帮助!答案很接近,但我只想要每个第一行输出旁边的文件名,这样我就知道哪一行与哪个文件对应。

4

1 回答 1

0

对于“GNU”find使用:

find . -name "*.gz" -exec sh -c "echo -n '{}: '; gzcat {}|head -1" \;
于 2019-10-28T20:03:04.720 回答