使用 find 按比 X 天新的文件计算 TB 总使用磁盘 space

calculate in TB total used disk space by files newer than X days using find

我有一个包含数千个大文件的文件夹,我想找出最近 X 天创建的已用磁盘总数 space。

我试过这个命令:

find . -type f -mtime -30 -printf '%s\n' | awk '{total=total+}END{print total/1024}'

如@k-h 所述
calculate total used disk space by files older than 180 days using find

该命令的输出是 9.84347e+09,我不确定如何将输出更改为 TB 磁盘大小。

请指教
谢谢,
亚龙

嗯,逻辑不太一样,但我在这里解释一下:

{ echo -n \(; find -type f -mtime -30 -printf "%s+"; echo 0\)/1024/1024/1024/1024; } | bc

让我们分解一下:

  • echo -n \( - 打印 ( 没有换行符。
  • find … - 与用于计算的 + 符号相同的 ol' 命令。
  • echo 0\)/1024… - 我们正在打印 0 所以表达式不会以 + 符号结尾,打印右括号然后除以 1024 四次得到相关结果。
  • | bc - 这是计算工具,您可以简单地将公式输入此工具,尝试 运行 echo 1+2 | bc 并使用它来理解其概念。

玩得开心,名字也很酷 BTW:)