[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] Replace de informação em arquivo do tipo texto
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: [shell-script] Replace de informação em arquivo do tipo texto |
Date: |
Fri, 18 Mar 2005 09:10:42 -0300 |
Olá Gustavo,
venho admirando bastante a sua colaboração e o seu alto nível de programação
em shell. Quero ressaltar no entanto que, conforme está escrito no rodapé de
*_todas as msgs da nossa lista_*, a abordagem de outras linguagens não é
permitido.
Pelo conhecimento de shell que vc tem demonstrado, tenho certeza que saberia
dar esta resposta usando somente este interpretador, gerando um script mais
otimizado (para o computador) pois evitaria carregar todo o interpretador
perl, fazer uma pré-compilação e executar a saída do find.
Por favor continue cooperando para manter a lista no alto padrão que ela se
encontra, porém abstendo-se de sair do seu tema.
[ ]s,
Julio
- Moderador -
:wq
| -----Mensagem original-----
| De: Gustavo Chaves [mailto:address@hidden]
| Enviada em: quinta-feira, 17 de março de 2005 23:30
| Para: address@hidden
| Assunto: Re: [shell-script] Replace de informação em arquivo do tipo
| texto
|
|
|
| >>>>> On Thu, 17 Mar 2005 19:42:26 -0300 (ART), Wagner Nunes
| <address@hidden> said:
|
| > tenho uma biblioteca c++ que tem ai mais ou menos umas
| > 80.000 linhas e eu to precisando mudar TODAS as
| > chamadas de um arquivo externo pra outro, então em
| > todas as referencia de arquivo_antigo.exe precisa
| > ficar arquivo_novo.exe... ... existe alguma forma de
| > se automatizar isso atravéz de shell???? ou eu
| > realmente terei que mudar uma a uma todas as chamadas
| > desse arquivo????
|
| Eu faria algo assim:
|
| find /path/to/lib -name '*.cc' -exec perl -i.bkp -pe
| 's/\barquivo_antigo\.exe\b/arquivo_novo.exe/g' '{}' ';'
|
| "/path/to/lib" seria o diretório sob o qual estariam todos os arquivos
| C++.
|
| "-name '*.cc'" diz pro find procurar todos os arquivos com extensão
| '.cc'. Mude se você usar outra extensão.
|
| Pra cada arquivo encontrado o find vai chamar o perl pra substituir as
| strings. A opção '-i.bkp' diz pra manter os arquivos originais
| sufixando-os com a extensão '.bkp'.
|
| Tome cuidado com a expressão regular que casa com o
| 'arquivo_antigo.exe' pois se você a deixar muito genérica ela pode
| "casar" e substituir outras coisas. Deixe-a o mais estrita possível.
|
| Gustavo.
|
|
| ---------------------------------------------------------------------
| Esta lista não admite a abordagem de outras liguagens de
| programação, como perl, C etc. Quem insistir em não seguir
| esta regra será moderado sem prévio aviso.
| ---------------------------------------------------------------------
| Sair da lista: address@hidden
| ---------------------------------------------------------------------
| Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos
- RES: [shell-script] Replace de informação em arquivo do tipo texto,
Julio Cezar Neves - DATAPREVRJ <=