Mostra o tamanho do arquivo legível em du [duplicate]

5

Estou usando este comando para determinar qual diretório está comendo meu disco.

du -sk * | sort -n

Como posso obter o formulário de resultado legível em du para tamanhos de arquivo? Eu verifiquei man e tudo o que tem é -k flag que transforma resultados de byte em resultados de kilobyte. Preciso de resultados em gigabytes

    
por Mohsen 01.07.2013 / 20:41

2 respostas

5

Isso pode funcionar:

du -hs * | sort -h

Se a sua cópia de du não suportar o sinal -h , você poderá converter os números usando awk .

du -ks * | awk '
function human(x) {
    s="kMGTEPYZ";
    while (x>=1000 && length(s)>1)
        {x/=1024; s=substr(s,2)}
    return int(x+0.5) substr(s,1,1)
}
{gsub(/^[0-9]+/, human($1)); print}'
    
por 01.07.2013 / 20:43
1

Em uma máquina Linux [baseada na Debian], eu recebo isso quando abro a página man para du :

 -h, --human-readable
              print sizes in human readable format (e.g., 1K 234M 2G)

Assim: du -h deve dar o que você precisa. Além disso, também de man du :

   --si   like -h, but use powers of 1000 not 1024

   -k     like --block-size=1K

Eu realmente me pergunto onde você encontrou suas informações.

    
por 01.07.2013 / 20:51