使用“查找”命令的可读格式的文件大小

使用“查找”命令的可读格式的文件大小

要查看人类可读的输出,我可以使用以下命令 - 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,请使用

相关内容