[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] find + du
From: |
Pedro Drimel |
Subject: |
Re: [shell-script] find + du |
Date: |
Fri, 20 Apr 2007 14:03:15 -0300 |
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 <address@hidden> 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 <address@hidden <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:
> >
> > pedro@servidor:~ $ 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
> >
> > pedro@servidor:~ $ 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]
- find + du, Pedro Drimel, 2007/04/20
- Re: [shell-script] find + du, Tiago Barcellos Peczenyj, 2007/04/20
- Re: [shell-script] find + du, Renato S. Yamane, 2007/04/20
- Re: [shell-script] find + du, Julio C. Neves, 2007/04/20
- Re: [shell-script] find + du,
Pedro Drimel <=
- Re: [shell-script] find + du, Pedro Drimel, 2007/04/20
- Re: find + du, nilton_p_8, 2007/04/21
- Re: [shell-script] Re: find + du, Pedro Drimel, 2007/04/23
- Re: [shell-script] Re: find + du, Flavio Junior, 2007/04/23
- Re: [shell-script] Re: find + du, Pedro Drimel, 2007/04/23
- Re: [shell-script] Re: find + du, Tiago Barcellos Peczenyj, 2007/04/23
- Re: [shell-script] Re: find + du, Pedro Drimel, 2007/04/23
- Re: [shell-script] Re: find + du, Flavio Junior, 2007/04/23