如何获取Linux目录中某种类型的所有文件的总大小?

Pau*_*aul 5 directory size macos command-line command

我试图计算出特定目录(“个人驱动器”)中的所有 JPG 占用了多少空间。我认为有一个命令行命令可以完成此任务。

小智 5

您也许可以使用 du 命令... du -ch *.jpg


Pau*_*aul 4

找到了。

ls -lR | grep .jpg | awk '{sum = sum + $5} END {print sum}'
Run Code Online (Sandbox Code Playgroud)

据我了解:

  • ls说列出目录中的所有文件。
  • 添加-l标志表示向我显示更多详细信息,例如所有者、权限和文件大小。
  • 附加R该标志表示“递归执行此操作”。

  • 通过管道连接grep .jpg仅允许包含“.jpg”的输出ls继续到下一阶段。

  • 将该输出通过管道传送到awk '{sum = sum + $5} END {print sum}'表示获取每一行并拉出其第五列元素(在本例中为文件大小)并将该值添加到我们的变量 sum 中。如果到达列表末尾,则打印该变量值。