Tome cuidado com os caracteres que voc� ir� colocar nas strings de troca, pois podem ser interpretados como metacaracteres. Para anular o efeito de metacaracter, utilize a barra invertida antes do caracter. Por exemplo, se vc quiser trocar uma / por um \, coloque \/ na string DE e \\ na string PARA.
#!/bin/sh DE="aaaa" PARA="bbbb" grep -esrl "$DE" *` | \ while read $ARQ ; do sed "s/$DE/$PARA/g" "$ARQ" > "$ARQ.new$$" rm -f "$ARQ" mv "$ARQ.new$$" "$ARQ" done Utilizei while ao inv�s do for porque se vc tiver algum arquivo com espa�o no nome, o for ir� quebrar esse nome em dois nomes diferentes. As aspas nos nomes das vari�veis s�o pelo mesmo motivo. Em Sex 04 Jul 2003 21:45, Felipe de Fraga Roman escreveu: > Pessoal, > tenho um servidor linux (infelizmente n�o � slack) que possui > mais de 3000 arquivos htmls dentro de diretorios e subdiretorios. > > Preciso alterar uma string de todos os arquivos htmls, e seria impossivel > fazer a edicao de um por um e salvar. > > existe algum comando que troque em todos os arquivos de uma s� vez ? > > de preferencia recursivo para que entre nos subdiret�rios tamb�m > > qualquer ajuda ser� muito bem vinda, um abra�o > Felipe Roman > _______________________________ > Felipe de Fraga Roman > ACS / Publicidade > ACS / Comunica��o On Line > Universidade Luterana do Brasil - www.ulbra.br > [EMAIL PROTECTED] > > _______________________________________________ > slack-users mailing list > [EMAIL PROTECTED] > http://www.linuxmag.com.br/mailman/listinfo/slack-users -- H�lio Cavichiolo Jr Analista de Sistemas Solu��es em Linux _______________________________________________ slack-users mailing list [EMAIL PROTECTED] http://www.linuxmag.com.br/mailman/listinfo/slack-users

