shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RES: [shell-script] Shell para substituir caracteres


From: Julio Cezar Neves - DATAPREVRJ
Subject: RES: [shell-script] Shell para substituir caracteres
Date: Mon, 1 Aug 2005 13:45:25 -0300

Fala Carla,

| Por favor não conheço nada de shell script será que alguém poderia me 
| ajudar.

Como vc consegue ser admin sem conhecer Shell? É preciso conhecer para o seu
sucesso profissional...

| O sistem que trabalho tem uns 800 programas que rodam no linux.
| 
| Eu preciso trocar alguns caracteres dentro dos 800 programas.
| 
| A troca deve ser é a seguinte:
| 
| de: /u/system/   para: /p/teste/

Faça assim:

for Arq in *
do
    mv -f "$Arq" "$Arq.$$"
    sed 's#/u/system/#/p/teste/#g' "$Arq.$$" > $Arq
done

Na linha do for, a variável Arq recebe o nome de cada um dos arquivos (por
causa do *, que para o shell significa todos os arquivos). 

Por segurança, na linha seguinte, os arquivos são renomeados com uma
extensão numérica equivalente ao PID do seu script ($$), que foi escolhido
para evitar colisão, caso vc queira executar o script diversas vezes.

O sed é que está trocando as cadeias. Repare que foi usado o # como
separador de seus argumentos para não confundir com as / das cadeias que
estariam sendo trocadas.

Caso vc tenha aprovado as alterações, verifique o número que foi gerado como
extensão dos seus arquivos (digamos 12345) e faça:

rm -f *.12345

[ ]s,
Julio
:wq


reply via email to

[Prev in Thread] Current Thread [Next in Thread]