[使用find计算X天以上的文件计算的TB总磁盘空间

问题描述 投票:0回答:1

我有一个包含数千个大文件的文件夹,我想找到最近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

awk find command printf filemtime
1个回答
0
投票

逻辑不是很完全相同,但是我在这里要解释:

{ 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:)

© www.soinside.com 2019 - 2024. All rights reserved.