我有一个包含数千个大文件的文件夹,我想找到最近X天创建的总已用磁盘空间。
我已经尝试过此命令:
find . -type f -mtime -30 -printf '%s\n' | awk '{total=total+$1}END{print total/1024}'
如@ k-h此处所述calculate total used disk space by files older than 180 days using find
命令的输出是9.84347e + 09,但我不确定如何将输出更改为TB磁盘大小。
请告知。谢谢,Yaron
逻辑不是很完全相同,但是我在这里要解释:
{ echo -n \(; find -type f -mtime -30 -printf "%s+"; echo 0\)/1024/1024/1024/1024; } | bc
让我们分解一下:
echo -n \(
-打印(
而没有换行。find …
-您使用带有+
符号的相同ol'命令进行计算。echo 0\)/1024…
-我们正在打印0
,因此表达式不会以+
符号结尾,打印右括号,然后将其除以4以得到相关结果。] >>| bc
-这是计算工具,您只需将公式通过管道传递到此工具,尝试运行echo 1+2 | bc
并对其进行操作以了解其概念。玩得开心,很酷的名字BTW:)