Sed – Dica: Como substituir uma palavra em vários arquivos

Um uso bem simples do SED. Supondo que você tenha quatro scripts denominados menu1.sh, menu2.sh, menu3.sh e menu4.sh, e você queira substiuir o valor de uma variável que ocorre em todos os scripts.

Ex: nomeservidor=teste1

Para cada servidor em que você for colocar os seus scripts, precisará mudar o valor desta variável. Para isso você pode fazer o seguinte for, utilizando o comando sed para fazer a substituição em todos de uma vez:

for i in `ls menu*`
do
sed "s/teste1/teste2/g" $i > $i.NEW
mv $i.NEW $i
done

O loop acima está fazendo o seguinte: para cada [arquivo], ele faz a substituição e direciona para um novo arquivo, [arquivo].NEW. Em seguida, ele move o [arquivo].NEW contendo os dados corretos para o [arquivo].

 

Leia também:

There are no comments yet. Be the first and leave a response!

Leave a Reply


Wanting to leave an <em>phasis on your comment?

Trackback URL http://www.unixnotes.org/2007/05/25/sed-dica/trackback/
Quem faz

Bem-vindo ao UNIX Notes. Sou Carla Duclos, administradora de sistemas Unix. Aqui compartilho minhas anotações técnicas. Além disso tenho a gastronomia e a fotografia como hobbies.

Saiba mais »

Bad Behavior has blocked 78 access attempts in the last 7 days.