Tente
find . -size +2k -printf "%p \t%k kb\n" | sort -k2n
Eu tenho este comando para encontrar arquivos maiores que 2 KB e classificar por tamanho:
find . -size +2k -name *.log -printf "%p \t%k kb\n" | ls -lS
mas o ls -lS
também fornece os arquivos com menos de 2 KB.
Como posso exibir os nomes e tamanhos dos arquivos maiores que 2KB, ordenada por tamanho?
O comando ls listará o diretório atual, não lerá algo do stdin.
Use
find . -size +2k -name *.log -printf "%s %p \t%k kb\n" | sort -n | sed -e '/^[0-9]* //'
com zsh
:
zmodload zsh/stat
printf '%s\n' **/*.log(DLK+2oLe'[
stat -A blk +block -- $REPLY && REPLY+=" $((blk * 2)) KB"]')
Isso informa o uso de disco dos arquivos de log cujo tamanho é maior que 2048, ordenado por tamanho .