Saya pada dasarnya mencari file kemudian mengurutkan berdasarkan ukuran. Script berfungsi jika saya tidak mengurutkan ukuran berdasarkan dapat dibaca manusia Tapi saya ingin ukurannya bisa dibaca manusia. Bagaimana saya bisa mengurutkan ukuran yang dapat dibaca manusia?
Sebagai contoh:
ls -l | sort -k 5 -n | awk '{print $9 " " $5}'
Ini berfungsi seperti yang diharapkan, saya mendapatkan ukuran file saya dalam byte naik:
1.txt 1
test.txt 3
bash.sh* 573
DocGeneration.txt 1131
andres_stuff.txt 1465
Branches.xlsx 15087
foo 23735
bar 60566
2016_stuff.pdf 996850
Sekarang, saya ingin ukurannya bisa dibaca manusia, jadi saya menambahkan parameter -h ke ls, dan sekarang beberapa file rusak:
ls -lh | sort -k 5 -n | awk '{print $9 " " $5}'
1.txt 1
DocGeneration.txt 1.2K
andres_stuff.txt 1.5K
test.txt 3
Branches.xlsx 15K
foo 24K
bar 60K
bash.sh* 573
2016_stuff.pdf 974K
ls
output
du
bukannya ls
bisa menjadi ide yang bagus.
find
's -printf
dengan nya %p
dan %s
formatters (diikuti dengan ‘humanisation’ dari ukuran).
-k 5
- bagaimana cara kerjanya?