Unix 要打印GunZip文件名和所选行-继续:

Unix 要打印GunZip文件名和所选行-继续:,unix,awk,Unix,Awk,要打印目录中所有文件的前2行以及文件名。 所有文件都是*.gz扩展名文件。该目录中大约有100个文件 示例_jan.csv.gz 10,Jan,100 30,Jan,300 50,Jan,500 示例_feb.csv.gz 10,Feb,200 20,Feb,400 40,Feb,800 60,Feb,1200 预期产出: Filename:sample_jan.csv.gz 10,Jan,100 30,Jan,300 Filename:sample_feb.csv.gz 10,Feb,2

要打印目录中所有文件的前2行以及文件名。 所有文件都是*.gz扩展名文件。该目录中大约有100个文件

示例_jan.csv.gz

10,Jan,100
30,Jan,300
50,Jan,500
示例_feb.csv.gz

10,Feb,200
20,Feb,400
40,Feb,800
60,Feb,1200
预期产出:

Filename:sample_jan.csv.gz
10,Jan,100
30,Jan,300

Filename:sample_feb.csv.gz
10,Feb,200
20,Feb,400
在以下命令中尝试,其中“作为文件名”显示为空

zcat sample_jan.csv.gz | awk 'FNR==1{print "Filename:" FILENAME} FNR<3' > Output.txt

Filename:-
10,Jan,100
30,Jan,300

zcat sample_jan.csv.gz | awk'FNR==1{print”Filename:“Filename}FNR您可以使用这一行

for file in *.gz; do echo "Filename: $file"; zcat "$file" | head -2 ; done
for file in *.gz; do echo "Filename: $file"; zcat "$file" | head -2 ; done