Fica o mesmo resultado para os dois -200 -300 acontece que não tem o que jogar para o pipe e ele acaba executando um du -ch em teste/
On 21/04/07, nilton_p_8 <[EMAIL PROTECTED]> wrote: > > --- Em [email protected]<shell-script%40yahoogrupos.com.br>, > "Pedro Drimel" > <[EMAIL PROTECTED]> escreveu > Pedro tenta usar somente o pipe sem o xargs. Tipo: > $ find teste/ -mtime -200 | du -ch > ..... > XXXX total > Posta ai se der certo.... > é a minha primeira dica aqui na lista.... > > > > Parece que não deu certo com o xargs não... como pode -200 ter mais que > > -300... > > > > [EMAIL PROTECTED]:~ $ find teste/ -mtime -200 | xargs du -ch > > 452M total > > [EMAIL PROTECTED]:~ $ find teste/ -mtime -300 | xargs du -ch > > 239M total > > > > Desde já, obrigado. > > > > On 20/04/07, Pedro Drimel <[EMAIL PROTECTED]> wrote: > > > > > > Tiago, obrigado com o xargs deu certo, achei que ja tinha testado > com o > > > xargs mas não importa, interessa que deu certo... > > > > > > Renato, minha dúvida não era em relação ao du, e sim como passar > para o > > > find executar o du e somar os resultados dos arquivos encontrados > por ele, > > > mesmo assim, obrigado. A propósito, costumo utilizar o man --help > e não > > > pretendo encher a lista com esse tipo de dúvida. > > > > > > Julio, vou usar o xargs mesmo mas valeu... estou lendo a 6º edição > do seu > > > livro, muito bom, parabéns. > > > > > > Att, > > > > > > Pedro. > > > > > > > > > On 20/04/07, Julio C. Neves <[EMAIL PROTECTED]> wrote: > > > > > > > > Epa um one liner! Vai para a minha coleção: > > > > > > > > $ du -ch | cut -f1 -d' ' | sed > > > > 's/\(.*\)\.\(.\)K/\1\200/;s/\(.*\)\.\(.\)M/\1\200000/' | paste > -sd+ | bc > > > > > > > > Isto éo cut pega somente o num e o multiplicador (K ou M). O sed > guarda > > > > a > > > > parte inteira em \1 e a decimal em \2. Se ele encontra um K ele o > > > > substitui > > > > pelo inteiro, seguido do decimal, seguido de 2 zeros, o que > equivale a > > > > multiplicar por 1000. Usei o mesmo raciocínio para o M. O paste -s > > > > transforma a coluna resultante em uma linha e a opção -d+ coloca > o sinal > > > > de > > > > mais como delimitador entre os numeros gerados. O bc faz a soma. > > > > > > > > Como trabalhamos somente com inteiros, pq o ponto decimal dançou, tb > > > > poderíamos fazer da seguinte maneira: > > > > > > > > $ echo $(($(du -ch | cut -f1 -d' ' | sed > > > > 's/\(.*\)\.\(.\)K/\1\200/;s/\(.*\)\.\(.\)M/\1\200000/' | paste > -sd+))) > > > > > > > > Abração, > > > > Julio > > > > :wq > > > > > > > > Em 20/04/07, Pedro Drimel < > [EMAIL PROTECTED]<pedrodrimel%40gmail.com>> > > > > escreveu: > > > > > > > > > > Quebrei a cabeça mas não consegui encontrar uma solução para > utilizar > > > > o > > > > > du > > > > > como soma de tamanho sobre arquivos encontrados pelo find > > > > > > > > > > exemplo: > > > > > > > > > > [EMAIL PROTECTED]:~ $ du -ch . > > > > > 4.0K ./.kde/share/config > > > > > 4.0K ./.kde/share > > > > > 4.0K ./.kde > > > > > 4.0K ./Documents > > > > > 4.0K ./public_html > > > > > 4.0K ./.xemacs > > > > > 133K . > > > > > 133K total > > > > > > > > > > [EMAIL PROTECTED]:~ $ find . -type f -exec du -h {} \; > > > > > 4.0K ./.kde/share/config/kdesktoprc > > > > > 4.0K ./.xim > > > > > 4.0K ./Documents/.directory > > > > > 4.0K ./.exrc > > > > > 4.0K ./.Xmodmap > > > > > 4.0K ./.bashrc > > > > > 4.0K ./.kermrc > > > > > 4.0K ./.muttrc > > > > > 4.0K ./public_html/.directory > > > > > 4.0K ./.urlview > > > > > 4.0K ./.viminfo > > > > > 4.0K ./.xemacs/init.el > > > > > 4.0K ./.sh_history_ > > > > > 0 ./.bash_history > > > > > 8.0K ./.Xdefaults > > > > > 12K ./.xscreensaver > > > > > 4.0K ./.profile > > > > > 4.0K ./.xinitrc > > > > > 8.0K ./.xcoralrc > > > > > 4.0K ./.emacs > > > > > 16K ./.gnu-emacs > > > > > 4.0K ./.zshrc > > > > > 4.0K ./.xtalkrc > > > > > 4.0K ./.sh_history_pneto6 > > > > > 4.0K ./.xsession > > > > > 4.0K ./.xserverrc.secure > > > > > 4.0K ./.dvipsrc > > > > > O que eu quero é que no final do find exiba o total da soma dos > > > > arquivos > > > > > (133K), até pensei em somar todos os valores mas pode vir a > ter Mega > > > > ou > > > > > Giga, deve ter algo mais racional que isso. Na verdade vou > utilizar o > > > > find > > > > > com -mtime e aí sim faz sentido pois o find . da na mesma que > o du -h > > > > . > > > > > > > > > > Se alguém tiver uma idéia, agradeço. > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Abraços, > > > > Julio > > > > http://www.julioneves.com - Um livro sobre Bash completo e on-line > > > > :wq > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > [As partes desta mensagem que não continham texto foram removidas]
