[Moscow.pm] Get human-readable output from du, sorted by size:
Nikolay Mishin
mi на ya.ru
Ср Сен 28 06:59:31 PDT 2011
есть еще вывод первых 10 больших файлов
find . -type f | xargs ls -s | sort -rn | awk '{size=$1/1024; printf("%dMb %s\n", size,$2);}' | head
вот бы теперь сделать так, чтобы выводились и файлы и каталоги и они были отсортированы по размеру
правда знака директории тоже бы не помешал (ну это доп задача..так сказать)
28.09.2011, 17:55, "Nikolay Mishin" <mi на ya.ru>:
> нереально, спасибо, да, хорошее исправление, а то после запятой не сортировал, точнее брал для сортировки только целую часть
>
> 28.09.2011, 17:41, "Denis Evdokimov" <evdokimov.denis на gmail.com>:
>
>> Николай, у вас небольшая неточность вот в этом месте
>> 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 mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
>
> --
> Nikolay Mishin
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
--
Nikolay Mishin
Подробная информация о списке рассылки Moscow-pm