[Moscow.pm] Get human-readable output from du, sorted by size:

Denis Evdokimov evdokimov.denis на gmail.com
Ср Сен 28 06:41:46 PDT 2011


Николай, у вас небольшая неточность вот в этом месте
map { [ $_, /([TMGKk])/, /(\d+)/ ] }
стоит использовать
map { [ $_, /([TMGKk])/, /(\d+(:?\.\d+)?)/ ] }

du -h |perl -e '%byte_order = ( T => -4, G => -3, M => -2, K => -1, k
=> -1 ); print map { $_->[0] } sort { $byte_order{$a->[1]} <=>
$byte_order{$b->[1]} || $b->[2] <=> $a->[2] } map { [ $_, /([TMGKk])/,
/(\d+)/ ] } <>' | head | awk '{print $1}'
48G
22G
21G
12G
11G
9.7G
8.1G
8.1G
8.6G
8.4G

du -h |perl -e '%byte_order = ( T => -4, G => -3, M => -2, K => -1, k
=> -1 ); print map { $_->[0] } sort { $byte_order{$a->[1]} <=>
$byte_order{$b->[1]} || $b->[2] <=> $a->[2] } map { [ $_, /([TMGKk])/,
/(\d+(:?\.\d+)?)/ ] } <>' | head | awk '{print $1}'
48G
22G
21G
12G
11G
9.7G
8.6G
8.4G
8.1G
8.1G
P.S. Есть ещё несколько мыслей, напишу их позже, сейчас много работы.


Подробная информация о списке рассылки Moscow-pm