计算linux中tgz文件子目录中的文件数
我有一个带有多个子目录的tgz文件。如何计算每个子目录中的文件数而不更正文件?我在Amazon EC2上使用Linux CentOS 例如,我有一个tgz文件,它的目录是计算linux中tgz文件子目录中的文件数,linux,count,tar,subdirectory,Linux,Count,Tar,Subdirectory,我有一个带有多个子目录的tgz文件。如何计算每个子目录中的文件数而不更正文件?我在Amazon EC2上使用Linux CentOS 例如,我有一个tgz文件,它的目录是dialogs/[0-9]from。具体来说,我正在查看这个tgz文件: 这个tgz文件有对话作为主目录,然后有许多从1到999(?)的子目录。我希望能够计算所有子目录中的文件数。例如,dialogs/3有346108个tsv文件对话/4有269023个tsv文件。我希望能够看到所有子目录中的文件数。是否有linux命令可以在不
dialogs/[0-9]
from。具体来说,我正在查看这个tgz文件:
这个tgz文件有对话
作为主目录,然后有许多从1到999(?)的子目录。我希望能够计算所有子目录中的文件数。例如,dialogs/3
有346108个tsv文件<代码>对话/4有269023个tsv文件。我希望能够看到所有子目录中的文件数。是否有linux命令可以在不解除文件错误的情况下执行此操作
我希望输出是子目录的名称,然后是子目录名称旁边包含的文件数。比如:
对话框/3-346108
对话框/4-269023
对话框/5-#####
等等。它不一定要精确,但这就是想法。您可以尝试以下命令:
tar tzf ubuntu_dialogs.tgz | grep dialogs | grep tsv | xargs-i dirname{}| uniq-c
我没有下载您的550MB文件,而是尝试了以下方法来统计我的一个归档文件中某个子目录中的jar文件:
tar tzf NetLogo-6.0.1-64.tgz | grep app/extensions | grep jar | xargs-i dirname{}uniq-c
我得到
2 NetLogo 6.0.1/app/extensions/arduino
1 NetLogo 6.0.1/app/extensions/array
1 NetLogo 6.0.1/app/extensions/bitmap
1 NetLogo 6.0.1/app/extensions/cf
2 NetLogo 6.0.1/app/extensions/csv
8 NetLogo 6.0.1/app/extensions/gis
4 NetLogo 6.0.1/app/extensions/gogo
6 NetLogo 6.0.1/app/extensions/ls
2 NetLogo 6.0.1/app/extensions/matrix
12 NetLogo 6.0.1/app/extensions/nw
1 NetLogo 6.0.1/app/extensions/palette
1 NetLogo 6.0.1/app/extensions/profiler
2 NetLogo 6.0.1/app/extensions/r
1 NetLogo 6.0.1/app/extensions/rnd
1 NetLogo 6.0.1/app/extensions/sample
1 NetLogo 6.0.1/app/extensions/sample-scala
1 NetLogo 6.0.1/app/extensions/sound
1 NetLogo 6.0.1/app/extensions/table
6 NetLogo 6.0.1/app/extensions/vid
3 NetLogo 6.0.1/app/extensions/view2.5d
(罐子的数量在第一列)
测试:
然后输出为:
6 a
2 a/c
3 b
你期望什么样的产出?你可以发布大概的样本输出,我不知道为什么,但这并没有给我所有子目录的所有计数。它只给我一些子目录的计数。但是knb的解决方案有效,所以我没事。不过,谢谢你!
mkdir -p a/c
touch a/{1,2,3,4,5,6}
touch a/c/{1,2}
mkdir b
touch b/{1,2,3}
tar cvfz ex.tgz a b
6 a
2 a/c
3 b