tak pokud máš k dispozi gawk, kód bude vypadat takhle:
du -smx /home/* | awk 'BEGIN { PROCINFO["sorted_in"] = "@ind_num_asc" } { d[$1][$2] } END { for (val in d) { for (dir in d[val]) { print val, dir } } }'
Trik je v tom, že si vytvoříš multimienzionální pole {hodnota, složka}, to pak můžeš podle hodnoty seřadit a vypsat všechny složky se stejnou hodnotou, k tomu se právě ve starší verzi gawk dá použít ten asorti, proto jsem ho zmiňoval, přes @ind_num_asc to je ale jednodušší a rychlejší.
Efektivita ale i tak nebude velká, pokud je záznamů opravdu hodně, použil bych na to asi python, kdy do cca miliardy záznamů jeho sorted() a hashmapa umí být rychlejší než awk.