-1

我有一个包含多种文件类型的目录,目录绝对不平坦,深度可变。 我想知道给定文件类型占用的卷大小。

我正在考虑在 du 之后过滤然后求和

du -ah . | grep .extension | sum

它确实打印了一些东西,但总和肯定没有达到我的预期。我测试过

du -ah . | grep -v .extension | sum

和值不加到目录大小:

du -ahc .

我怎样才能做到这一点?

谢谢

4

2 回答 2

2
find . -type f -name '*.extension' -exec du -ch {} +

谢谢:https ://unix.stackexchange.com/questions/41550/find-the-total-size-of-certain-files-within-a-directory-branch

于 2016-01-24T01:20:42.393 回答
-1

您可以使用bs - byte summer

ls -lhR | awk '{ if (NF==9) print }' | grep '.*.extension' | bs

与基于 - 的解决方案相比,为您提供了一些优势find

  • 使用该-u选项,您可以强制输出单位(例如 GB、MB)
  • 可组合性:-u为您提供数字输出,您可以使用say bc进行组合
  • grep 允许更灵活(虽然容易出错)的过滤:可以根据权限、日期等进行过滤。
  • 不那么冗长:只给你总数
于 2016-11-12T00:53:41.943 回答