du -hが期待どおりに機能しないのはなぜですか?

du -hが期待どおりに機能しないのはなぜですか?

人間が読めるフラグを使用してduコマンドの出力を並べ替え、拡張子(G、M、Kなど)を無視し、数値だけで結果を並べ替えると同時に-hを削除すると、期待どおりに結果にフラグが付けられます。を指定しようとしています。

:~/du_exmp$ du -h ./* | sort -n
1.0M    ./file2.txt
2.0G    ./file3.txt
 52K    ./file1.txt
:~/du_exmp$ du  ./* | sort -n
104 ./file1.txt
2048    ./file2.txt
4204192 ./file3.txt

問題の源は何ですか?どうやって解決しますか?

ベストアンサー1

努力するsort -h。マニュアルから-h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)

sort --helpコマンドオプションをよりよく理解するために使用します。

おすすめ記事