shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: find + du


From: nilton_p_8
Subject: Re: find + du
Date: Sat, 21 Apr 2007 14:38:21 -0000
User-agent: eGroups-EW/0.82

--- Em address@hidden, "Pedro Drimel" 
<pedrodrimel@...> 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...
> 
> pedro@servidor:~ $ find teste/ -mtime -200 | xargs du -ch
> 452M    total
> pedro@servidor:~ $ find teste/ -mtime -300 | xargs du -ch
> 239M    total
> 
> Desde já, obrigado.
> 
> On 20/04/07, Pedro Drimel <pedrodrimel@...> 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 <julio.neves@...> 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 <
pedrodrimel@...<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]
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]