perl -e 'sub h{pop=~/^([\d.]+)(.)/&&{K,1e1,M,1e3,G,1e6}->{$2}+$1}print sort{h($b)<=>h$a}`du -h`' #### perl -e 'print map substr($_,8),reverse sort map sprintf("%8d",(/^([\d.]+)([kKMG])/)?{K,1e1,M,1e3,G,1e6}->{$2}+$1:$1).$_,`du -h`'