Re: [FUG-BR] apagar arquivos - Resolvido
On 3/21/06, Ricardo Campos Passanezi <[EMAIL PROTECTED]> wrote: > On Tue, Mar 21, 2006 at 07:48:16AM -0300, Renato Botelho wrote: > > > > Concordo, pois esse exemplo acima só funciona se você não tiver > > arquivo dentro de subdiretórios, além de tentar remover subdiretórios > > caso encontre neles a palavra pesquisada. O comando que eu havia > > enviado era > > > > find /usr/local/Maildir/new -type f | xargs fgrep -l "Milionario" | xargs > > rm -f > > > Pode colocar o grep como parâmetro do find também: > > find PATH -type f -exec grep "STRING" {} \; | xargs rm Perigoso. Pelo que entendo, desse jeito você vai rodar um grep separado para cada arquivo, que é um overhead bem maior do que enviar os nomes de todos os arquivos para o xargs(1), que disparará um conjunto reduzido de instâncias do grep(1), cada uma processando vários arquivos de uma vez. > Aí você refinar usando egrep, por exemplo. -- Um abraço. Paulo A. P. Pires ... Qui habet aurem audiat quid Spiritus dicat ecclesiis. ___ freebsd mailing list freebsd@fug.com.br http://lists.fug.com.br/listinfo.cgi/freebsd-fug.com.br
Re: [FUG-BR] apagar arquivos - Resolvido
On Tue, Mar 21, 2006 at 07:48:16AM -0300, Renato Botelho wrote: > > Concordo, pois esse exemplo acima só funciona se você não tiver > arquivo dentro de subdiretórios, além de tentar remover subdiretórios > caso encontre neles a palavra pesquisada. O comando que eu havia > enviado era > > find /usr/local/Maildir/new -type f | xargs fgrep -l "Milionario" | xargs rm > -f Pode colocar o grep como parâmetro do find também: find PATH -type f -exec grep "STRING" {} \; | xargs rm Aí você refinar usando egrep, por exemplo. -- Ricardo Campos Passanezi ___ freebsd mailing list freebsd@fug.com.br http://lists.fug.com.br/listinfo.cgi/freebsd-fug.com.br
Re: [FUG-BR] apagar arquivos - Resolvido
On 3/21/06, Paulo Pires <[EMAIL PROTECTED]> wrote: > On 3/16/06, Ademir Costa Peixoto <[EMAIL PROTECTED]> wrote: > > Prezados > > > > Agradeço a todos que me ajudaram.. no final juntei tudo e criei um .sh > > assim: > > > > > > > > #!/bin/bash > > for f in `ls /usr/local/Maildir/new/`; do > > grep -l "Milionario" /usr/local/Maildir/new/$f | xargs rm -f > > done > > > > > > Execurei o .sh e funcionou direitinho... Levou quase 20 min mas apagou > > tudo. > > > > > > E nem no google eu achei nada parecido.. por isso vou registrar: > > > > script para apagar arquivos com uma determinada string no FreeBSD > > O comando usando find(1), que alguém enviou, é mais eficiente. Se é > para anotar, anote aquele. Concordo, pois esse exemplo acima só funciona se você não tiver arquivo dentro de subdiretórios, além de tentar remover subdiretórios caso encontre neles a palavra pesquisada. O comando que eu havia enviado era find /usr/local/Maildir/new -type f | xargs fgrep -l "Milionario" | xargs rm -f -- Renato Botelho ___ freebsd mailing list freebsd@fug.com.br http://lists.fug.com.br/listinfo.cgi/freebsd-fug.com.br
Re: [FUG-BR] apagar arquivos - Resolvido
On 3/16/06, Ademir Costa Peixoto <[EMAIL PROTECTED]> wrote: > Prezados > > Agradeço a todos que me ajudaram.. no final juntei tudo e criei um .sh > assim: > > > > #!/bin/bash > for f in `ls /usr/local/Maildir/new/`; do > grep -l "Milionario" /usr/local/Maildir/new/$f | xargs rm -f > done > > > Execurei o .sh e funcionou direitinho... Levou quase 20 min mas apagou > tudo. > > > E nem no google eu achei nada parecido.. por isso vou registrar: > > script para apagar arquivos com uma determinada string no FreeBSD O comando usando find(1), que alguém enviou, é mais eficiente. Se é para anotar, anote aquele. -- Um abraço. Paulo A. P. Pires ... Qui habet aurem audiat quid Spiritus dicat ecclesiis. ___ freebsd mailing list freebsd@fug.com.br http://lists.fug.com.br/listinfo.cgi/freebsd-fug.com.br