![使用“查找”命令的可读格式的文件大小](https://linux22.com/image/186910/%E4%BD%BF%E7%94%A8%E2%80%9C%E6%9F%A5%E6%89%BE%E2%80%9D%E5%91%BD%E4%BB%A4%E7%9A%84%E5%8F%AF%E8%AF%BB%E6%A0%BC%E5%BC%8F%E7%9A%84%E6%96%87%E4%BB%B6%E5%A4%A7%E5%B0%8F.png)
要查看人类可读的输出,我可以使用以下命令 - du 命令 -h 选项:以人类可读的格式显示大小(例如,1K、234M、2G)。
$ du -hsx * | sort -rh | head -10
示例输出如下所示
4.4G Desktop
3.8G Downloads
149M en-GB
146M Apache_OpenOffice_4.1.1_Linux_x86-64_install-deb_en-GB.tar.gz
95M scala-2.11.4.deb
20M gawk-4.1.1
4.5M linux-dash
3.9M yii-1.1.13.e9e4a0.tar.gz.1
3.9M yii-1.1.13.e9e4a0.tar.gz
我怎样才能使用寻找命令获取可读文件大小?
示例:要跳过目录并仅显示文件,请使用以下命令
find . -type f -printf '%s %p\n'| sort -nr | head -4
给我:
185016320 ./Desktop/gdb-7.9.tar
153300495 ./Downloads/apache-storm-1.0.0.tar.gz
152847886 ./Apache_OpenOffice_4.1.1_Linux_x86-64_install-deb_en-GB.tar.gz
98756608 ./scala-2.11.4.deb
我试图让文件大小显示为 185M、153M 等..(更具可读性)
答案1
使用numfmt
find . -type f -printf '%s %p\n'| sort -nr | head -4 | numfmt --field=1 --to=iec
输出:
177M ./Desktop/gdb-7.9.tar
147M ./Downloads/apache-storm-1.0.0.tar.gz
146M ./Apache_OpenOffice_4.1.1_Linux_x86-64_install-deb_en-GB.tar.gz
95M ./scala-2.11.4.deb
--to=si
如果您想要因子 1000 而不是 1024,请使用