linux - 如何在linux中递归计算某些文件的总大小

标签 linux bash shell diskspace du

我有一堆文件分散在布局中的文件夹中,例如:

dir1/somefile.gif
dir1/another.mp4
dir2/video/filename.mp4
dir2/some.file
dir2/blahblah.mp4

而且我需要找到用于 MP4 文件的总磁盘空间。这意味着它必须以某种方式递归。

我查看了 du 并摆弄了一些东西到 grep 但似乎无法弄清楚如何只计算 MP4 文件,无论它们在哪里.

人类可读的总磁盘空间输出也是必须的,如果可能的话最好以 GB 为单位?

有什么想法吗?谢谢

最佳答案

对于单个文件大小:

find . -name "*.mp4" -print0 | du -sh --files0-from=- 

以 GB 为单位的总磁盘空间:

find . -name "*.mp4" -print0 | du -sb --files0-from=-  | awk '{ total += $1} END { print total/1024/1024/1024 }'

关于linux - 如何在linux中递归计算某些文件的总大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28900112/

相关文章:

css - 在 gtk 刻度上更改 slider 大小

c - mount() 上的自动检测文件系统

linux - 如何将列输出合并到前一列的行尾?

python - 如何在 txt 文件 python 中获取脚本的输出

c++ - 释放 C++ 资源和 fork-exec?

linux - 如何获取我的 .profile 文件并使其更改当前 shell

bash - 检测可执行文件是否在用户的 PATH 中

bash:整数到字符串,使用分隔符拆分和连接

linux - shell 脚本搜索并用日期替换字符串值

ruby-on-rails - 如何从 Ruby on Rails Web 服务器编译和编码,限制 CPU 和内存使用?