[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RES: [shell-script] Shell para substituir caracteres,
Julio Cezar Neves - DATAPREVRJ <=