【发布时间】:2020-09-08 09:07:42
【问题描述】:
这是场景。
想象一下我们有这种风格的目录结构 -
/snapshots/201801/users/tom/
/snapshots/201802/users/harry/
/snapshots/201803/users/chris/
等等。
我试图在输出中获得的是名称目录的总磁盘使用量,但将所有“20180x”文件夹计入总数。最后,此输出应按磁盘使用率从高到低排序。
作为一个非常基本的例子,如果我要这样做 -
du -h --max-depth=1 /snapshots/2018*/users/ | sort -n
输出将显示输出中每个“201801”、“201802”、“201803”目录的总目录磁盘使用情况。
我真正想要的是输出显示给定用户在“201801”、“201802”、“201803”之间的磁盘使用总量,然后按大小对其进行排序。
因此,例如,生成的输出需要显示磁盘空间总数,其计算方式如下 - “20GB = “/tom”的总和 - 涵盖所有可用的“201801”、“201802”、“201803”目录树中的文件夹。想象“201801”、“201802”、“201803”代表用户文件夹的特定版本,我们想要计算所有这些用户的总数。我们可以假设“201801 ","201802","201803" 样式文件夹将始终位于树中的相同深度。
20GB /tom
10GB /harry
900MB /chris
希望这是有道理的。如果您有更好的标题,请告诉我,因为我不确定用一句话来解释我想要做什么的最佳术语。
谢谢!
【问题讨论】:
-
我会首先像您现在所做的那样计算总计,将所有内容写入文件,然后编写一个程序来处理文件并总结这些值。在这种情况下,不使用
-h可能会保护自己的一些工作。
标签: linux bash directory du disk-access