【发布时间】:2014-10-08 05:50:27
【问题描述】:
希望打印位于目录/子目录中的所有文件的前 2 行以及文件名和路径名。 都是*.gz 扩展文件。该目录/子目录中有大约 10000 个文件,并且有多个子目录。
例如:
Dir:home/Test
sample_Test.csv.gz
10,Jan,100
30,Jan,300
50,Jan,500
目录:home/Test/Feb
sample_feb.csv.gz
10,Feb,200
20,Feb,400
40,Feb,800
60,Feb,1200
目录:home/Test/Mar/Data
sample_mar.csv.gz
10,Mar,200
20,Mar,400
40,Mar,800
60,Mar,1200
预期输出:
Filename:sample_jan.csv.gz , PathName: home/Test
10,Jan,100
30,Jan,300
Filename:sample_feb.csv.gz , PathName: home/Test/Feb
10,Feb,200
20,Feb,400
Filename:sample_mar.csv.gz , PathName: home/Test/Mar/Data
10,Mar,200
20,Mar,400
已尝试以下命令和部分。
for file in *.gz; do echo "Filename: $file"; zcat "$file" | head -2 ; done
希望在“home”目录中运行该命令,该命令将搜索当前目录和子目录下的文件。 寻求您的建议!!!
【问题讨论】:
-
那么你现在的命令有什么问题?
-
这个命令只搜索当前目录下的文件,也想知道如何打印Pathname。
-
没问题@AVN,很高兴它成功了。