Ney, Se vc tem arquivos cujo nome possui espaco em branco, isso confunde o comando rm pois o espaco também é separador de arquivo.
Vc poderia fazer o seguinte while read i ; do rm "$i" || echo "erro ao excluir '$i' " end < arquivo Ou alterar o IFS durante a operação, no livro do julio tem exemplo. IMHO usar find -print0 + xargs -0 é mais eficiente, pois vc temporariamente vai estar separando os nomes dos arquivos pelo byte 0 e não por algo que pode ser confundido com uma parte do nome do arquivo - como um espaço em branco. porém nem sempre vc vai estar usando um find, o arquivo pode ser o resultado de uma série de comandos mais elaborados. Basta lembrar que dessa forma vc vai executar o rm uma vez por arquivo, o que é ineficiente, mas para poucos arquivos é irrisório. 2010/8/30 Ney Vitor ( Gmail ) <judne...@gmail.com>: > Vc pode fazer o seguiinte : > Primeiro encontre os mesmos e coloque em um arquivo : > > > find / -name *.eml -print > arquivo > Onde arquivo é o nome do arquivo a ser criado eu sugiro TMP . Antes de deletar > , dá uma olhada neste arquivo que ele terá todos os nomes dos arquivos que > serão deletados , o que pode evitar algum desastre ok ? > > Depois execute em qualquer script : > > for i in `cat arquivo` > do > rm $i > if [ $? -ne 0 ] ; then > echo " Erro ao excluir $i " >> err > fi > done > > > E ele vai excluir todos os seus arquivos .O que derem erro , vc pode verificar > manualmente o porque lendo o arquivo err . Existem maneiras mais agressivas , > mas esta é a mais segura . > > > Espero que ajude . > > Att: Ney Vitor > > > On Monday 30 August 2010 09:31:53 Cristiano wrote: >> Caros amigos, Bom dia! >> >> Estou com uma série de arquivos .eml em meu S.O. Linux e não consigo >> apagá-los, em pesquisa, encontrei o comando " find / -name \*.eml -print | >> xargs rm -f" o qual me ajudou para apagar alguns, só que existem muitos >> outros em pastas que contêm espaços em seus nomes, assim como caracteres >> especiais, pex.: "/home/teste/teste1/aplicativo/otimiza??o >> rotinas/cetecwnxp3148.eml", não possuo experiência em shell, assim sendo, >> gostaria da ajuda de vocês para desenvolver uma rotina em shell que >> procurasse pelos arquivos com a extensão ".eml" e os apagassem das minhas >> pastas, qualque pasta, escrita da forma que fosse. >> >> obrigado pela atenção. > > > > ------------------------------------ > > --------------------------------------------------------------------- > Esta lista não admite a abordagem de outras liguagens de programação, como > perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio > aviso. > --------------------------------------------------------------------- > Sair da lista: shell-script-unsubscr...@yahoogrupos.com.br > --------------------------------------------------------------------- > Esta lista é moderada de acordo com o previsto em > http://www.listas-discussao.cjb.net > --------------------------------------------------------------------- > Servidor Newsgroup da lista: news.gmane.org > Grupo: gmane.org.user-groups.programming.shell.brazil > > Links do Yahoo! Grupos > > > -- Tiago B. Peczenyj Linux User #405772 http://pacman.blog.br