Bagaimana Anda mengurutkan du -sh /dir/*
berdasarkan ukuran? Saya membaca satu situs yang mengatakan gunakan | sort -n
tapi itu jelas tidak benar. Ini contoh yang salah.
[~]# du -sh /var/* | sort -n
0 /var/mail
1.2M /var/www
1.8M /var/tmp
1.9G /var/named
2.9M /var/run
4.1G /var/log
8.0K /var/account
8.0K /var/crash
8.0K /var/cvs
8.0K /var/games
8.0K /var/local
8.0K /var/nis
8.0K /var/opt
8.0K /var/preserve
8.0K /var/racoon
12K /var/aquota.user
12K /var/portsentry
16K /var/ftp
16K /var/quota.user
20K /var/yp
24K /var/db
28K /var/empty
32K /var/lock
84K /var/profiles
224M /var/netenberg
235M /var/cpanel
245M /var/cache
620M /var/lib
748K /var/spool
Jawaban yang Diterima:
Jika Anda memiliki GNU coreutils (umum di sebagian besar distribusi Linux), Anda dapat menggunakan
du -sh -- * | sort -h
-h
opsi memberitahu sort
bahwa inputnya adalah format yang dapat dibaca manusia (angka dengan satuan; berbasis 1024 sehingga 1023 dianggap kurang dari 1K yang kebetulan cocok dengan du -h
GNU apa tidak).
Fitur ini telah ditambahkan ke GNU Core Utilities 7.5 pada Agustus 2009.
Catatan:
Jika Anda menggunakan Mac OSX versi lama, Anda perlu menginstal coreutils dengan
brew install coreutils
lalu gunakangsort
sebagai penggantisort
.Versi macOS yang lebih baru (diverifikasi di Mojave) mendukung
sort -h
asli.