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

Responder a