Linux大文件格式,linux – 用于打印大文件的命令,按大小以人类可读的格式排序...

我写了一个简单的

shell脚本来查找大文件,主要是为了节省一些打字.这项工作正在完成:

find $dir -type f -size +"$size"M -printf '%s %p\n' | sort -rn

我想将字节输出转换为人类可读的格式.我在网上找到了如何手动执行此操作的方法,例如,

find $dir -type f -size +"$size"M -printf '%s %p\n' | sort -rn |

awk '{ hum[1024**4]="TB"; hum[1024**3]="GB"; hum[1024**2]="MB"; hum[1024]="KB"; hum[0]="B";

for (x=1024**4; x>=1024; x/=1024){

if ($1>=x) { printf "%7.2f %s\t%s\n",$1/x,hum[x],$2;break }

}}'

但这看起来很混乱.我想知道:是否有一种将字节转换为人类可读形式的标准方法?

当然,在目录和min-size作为输入的情况下,任何产生以下输出的替代方法也是受欢迎的:

1.25 GB /foo/barf

598.80 MB /foo/bar/bazf

500.58 MB /bar/bazf

421.70 MB /bar/baz/bamf

...

注意:这必须适用于2.4和2.6,并且应该对输出进行排序.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值