Shell-Script

使用 Find 命令的文件大小的可讀格式

  • January 25, 2021

要查看人類可讀的輸出,我可以使用以下命令 - du command -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命令獲取可讀文件大小?

範例:要跳過目錄並僅顯示文件,請使用以下命令

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 等。(更具可讀性)

利用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,請使用

引用自:https://unix.stackexchange.com/questions/630881