Estou usando este comando para encontrar as pastas que desejo e contar o tamanho.
find . -type d -name 'tmp_c*' | xargs du -hcs {} \; +
Minha versão do find não suporta -exec. Mas isso funciona. No entanto, não tenho certeza se estou fornecendo os totais corretos nos diretórios que contêm minha string de pesquisa. Quando executo o comando e canalizo para less, vejo que ele conta o tamanho de cada pasta e, em seguida, gera um total de vez em quando. Assim:
140K ./r/g/userid/attach/tmp_c_241091464_2
68K ./r/g/userid/attach/tmp_c_58367014_undefined
2.3G total
Se eu redirecionar a saída para um arquivo e grep no total, recebo o seguinte:
2.3G total
978M total
1.1G total
2.0G total
1.1G total
EUpensarisso está me dando os números certos. Mas como posso levar esse comando um passo adiante e somar os totais de um total geral em uma linha?
Responder1
find . -type d -name 'tmp_c*' -print0 | du -hcs --files0-from -
Isso pressupõe versões (suficientemente recentes?) GNU de find
e du
.
Responder2
Deve funcionar, testei na minha caixa EL4... é a mais antiga que tenho e me dá arrepios, não sei como você usa o EL3.
find . -type d -name 'tmp_c*' -print0|xargs -0 du -c|tail -1
Feito comcoreutils-4.5.3-26
Responder3
https://stackoverflow.com/a/1323769/799204
Uma solução alternativa é usar o awk:
mas o script deve ser adaptado para este caso, tente
find . -type d -name 'tmp_c*' -print0 | xargs -0 du -s | awk 'BEGIN { sum=0 } { sum+=$1 } END { print sum }'
a saída será em decimal
Responder4
Verifiquei que o epel começa em 5 e não em 3, então a única opção é o script personalizado.
Também pode instalar o ncdu;
Eu uso isso o tempo todo, muito mais fácil e rápido do que qualquer festa personalizada. (Pode navegar pelos diretórios, economiza muito tempo).