按类型和大小对文件夹及其子文件夹中的文件进行排序



我必须通过扩展递归中递归中的目录中的大量文件,并获取每个扩展名的总尺寸。

我不想看到其旁边的类型和大小的单个文件。

例如,这将是一个潜在的输出:

JPEG - 123 Files - 321MB Total;
AVI - 321 Files - 123MB Total;
MP4 - 111 Files - 111MB Total;

我已经尝试使用ls -lshR,然后将结果输送到grep,但是由于我正在工作的环境的限制,我无法创建一个脚本文件来解析结果。并在单个命令中从ls -lshR | grep ".txt"的结果中总计大小。

您可以进一步将评论的解决方案煮沸,

 find /boo -ls 
 | awk '/.*.txt/{txtTot+=$6}; /.*.mp4/{mp4Tot+=$6} END {print "Txt Tot=" txtTot "nMP4 Tot=" mp4Tot}'

这将在/boo,AWK /.*.txt/等下获取所有文件,是REG表达式仅与.txt匹配。.mp4相同。继续添加尽可能多的。您不关心的任何人都会在处理中跳过。

(您的find可能会将文件大小放在其他字段NUM中,只需查看输出并根据需要将引用更改为$ 6)。

然后,接下来的事情就是使用awk数组按类型动态总文件大小,但在担心之前,请阅读更多有关awk的信息。

(我现在没有办法对此进行测试,因此可能会剩下一些次要的语法内容。根据Awk的版本,您可能会收到一个有用的错误消息; -/)

ihth

相关内容

  • 没有找到相关文章

最新更新