linux – 用于打印大文件的命令,按大小以人类可读的格式排序
发布时间:2020-12-14 01:35:05 所属栏目:Linux 来源:网络整理
导读:我写了一个简单的 shell脚本来查找大文件,主要是为了节省一些打字.这项工作正在完成: find $dir -type f -size +"$size"M -printf '%s %pn' | sort -rn 我想将字节输出转换为人类可读的格式.我在网上找到了如何手动执行此操作的方法,例如, find $dir -type
我写了一个简单的
shell脚本来查找大文件,主要是为了节省一些打字.这项工作正在完成:
find $dir -type f -size +"$size"M -printf '%s %pn' | sort -rn 我想将字节输出转换为人类可读的格式.我在网上找到了如何手动执行此操作的方法,例如, find $dir -type f -size +"$size"M -printf '%s %pn' | 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 %st%sn",$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,并且应该对输出进行排序. 解决方法find ... | sort -rn | cut -d -f2 | xargs df -h 例如:)或 find $dir -type -f size +$size -print0 | xargs -0 ls -1hsS (从olibre借来一点灵感). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- linux – drwxrwxrwt中的t或t的值是多少?
- linux就该这么学第十二课
- linux – Perl:递归重命名所有文件和目录
- linux – 更新生产Ubuntu盒子的注意事项
- linux – 如何在Windows Server 2008上配置freeSSHd以便我可
- curl – OTRS通用接口(搜索票证) – URL查询参数的数组
- 键盘快捷键 – 如何使用单键按键退出Vi编辑器?
- linux shell下除了某个文件外的其他文件全部删除的命令
- linux – openldap:日志级别的巨大日志文件’stats’
- linux – 从zfs-0.6.2-1.el6.x86_64更新到zfs-0.6.3-1.el6.