使用 Find 命令读取文件大小的格式

Ric*_*k T 0 scripting find disk-usage shell-script

要查看人类可读的输出,我可以使用以下命令 – du 命令 -h 选项:以人类可读的格式(例如,1K、234M、2G)显示大小。

$ du -hsx * | sort -rh | head -10
Run Code Online (Sandbox Code Playgroud)

示例输出看起来像

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
Run Code Online (Sandbox Code Playgroud)

如何使用Find命令获取可读文件大小?

示例:要跳过目录只显示文件,请使用以下命令

find . -type f -printf '%s %p\n'| sort -nr | head -4
Run Code Online (Sandbox Code Playgroud)

给我:

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
Run Code Online (Sandbox Code Playgroud)

我试图让文件大小显示为 185M、153M 等..(更具可读性)

pLu*_*umo 5

numfmt

find . -type f -printf '%s %p\n'| sort -nr | head -4 | numfmt --field=1 --to=iec
Run Code Online (Sandbox Code Playgroud)

输出:

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
Run Code Online (Sandbox Code Playgroud)

使用--to=si,如果你想因数1000,而不是1024