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
[FUG-BR] apagar arquivos - Resolvido
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 Ats Ademir Peixoto ___ freebsd mailing list freebsd@fug.com.br http://lists.fug.com.br/listinfo.cgi/freebsd-fug.com.br
Re: [FUG-BR] apagar arquivos
Rainer Alves wrote: > Ademir Costa Peixoto wrote: >> Tenho mais de 5.000 arquivos num diretório e queria apagar os que tenham a >> string "Milionários" > > for i in *Milionarios*; do rm -f $i; done > (considerando que a sua shell é bash). Acho que a sua intenção na verdade é apagar arquivos com a string dentro do texto em si (e não no nome do arquivo). Nesse caso ficaria: for ARQUIVO in `grep --files-with-matches Milionario *` ; do rm -f $ARQUIVO ; done - Rainer ___ freebsd mailing list freebsd@fug.com.br http://lists.fug.com.br/listinfo.cgi/freebsd-fug.com.br
Re: [FUG-BR] apagar arquivos
Ademir Costa Peixoto wrote: > Tenho mais de 5.000 arquivos num diretório e queria apagar os que tenham a > string "Milionários" for i in *Milionarios*; do rm -f $i; done (considerando que a sua shell é bash). - Rainer ___ freebsd mailing list freebsd@fug.com.br http://lists.fug.com.br/listinfo.cgi/freebsd-fug.com.br
[FUG-BR] apagar arquivos
Prezados, Como apago arquivos que tenham uma determinada string? Tenho mais de 5.000 arquivos num diretório e queria apagar os que tenham a string "Milionários" Ademir ___ freebsd mailing list freebsd@fug.com.br http://lists.fug.com.br/listinfo.cgi/freebsd-fug.com.br