The UNIX and Linux Forums  

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Substituir texto em vários arquivos on9west Programação Shell Script e 1 05-20-2008 02:35
leia espaço preenchido arquivo e substitua o texto em determinada posição COD Programação Shell Script e 6 04-21-2008 06:40
Substituir texto em vários arquivos Tonka52 Programação Shell Script e 10 03-24-2008 08:11
como substituir uma linha de texto com várias linhas FunnyCats UNIX para Dummies Perguntas & Respostas 1 01-18-2007 09:52
saltar para uma linha específica em um arquivo de texto mridula Alto Nível de programação 4 09-20-2005 02:49

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 06-17-2008
madhusmita madhusmita is offline
Usuário
  
 

Join Date: Jun 2008
Lugares: 29
Como substituir um texto específico linha de múltiplas ocorrências

Oi

Gostaria de substituir por exemplo ExitAction linha específica para ExitAction NENHUMA \u003d \u003d FALSE sob única tarefa sipsiproc e outros \u003d ExitAction NENHUMA permanecerá como é habitual no arquivo (shell script)

O arquivo contém:

Código:
TASK rgcdproc {
    CommandLine    = $SSHOME/bin/rgcd.exe
    NewConsole     = yes
    ExitAction     = NONE
    DependantProcs = megacopiproc
}

TASK sipsubsystemproc {
    CommandLine    = $SSHOME/bin/sipsubsystem.exe
    NewConsole     = yes
    ExitAction     = NONE
    DependantProcs = sipsiproc
}

TASK sipsiproc {
    CommandLine    = $SSHOME/bin/sip_si.exe
    NewConsole     = yes
    ExitAction     = NONE
    DependantProcs = sipsubsystemproc
}

TASK megacopiproc {
    CommandLine    = $SSHOME/bin/megacopi.exe
    NewConsole     = yes
    ExitAction     = NONE
    DependantProcs = rgcdproc

No que respeita,
Madhu

Última edição por Yogesh Sawant; em 06/17/2008 08:32.. Motivo: adicionado código tags
  #2 (permalink)  
Old 06-17-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
viciado
  
 

Join Date: Jan 2007
Localização: Варна, България / Milano, Italia
Mensagens: 2.928

Código:
perl -i.bak -00 -pe's/(TASK sipsiproc.*?ExitAction = )NONE/$1FALSE/s' inputfile

ou:


Código:
perl -i.bak -00 -pe's/ExitAction = NONE/ExitAction = FALSE/ if /^TASK sipsiproc/' inputfile


Com Awk (nawk / ou usr/xpg4/bin/awk no Solaris):


Código:
awk '/^TASK sipsiproc/{sub(/ExitAction = NONE/,"ExitAction = FLASE")}1' ORS="\n\n" RS= inputfile>newfile


Última edição por radoulov; em 06/17/2008 05:33..
  #3 (permalink)  
Old 06-17-2008
madhusmita madhusmita is offline
Usuário
  
 

Join Date: Jun 2008
Lugares: 29
Thanks a lot
  #4 (permalink)  
Old 06-17-2008
kahuna's Avatar
Kahuna kahuna is offline
Usuário
  
 

Join Date: Apr 2007
Lugares: 149
Radoulov,

Citação:
Originally Posted by radoulov View Post

Código:
perl -i.bak -00 -pe's/ExitAction = NONE/ExitAction = FALSE/ if /^TASK sipsiproc/' inputfile
Poderia explicar um pouco mais sobre a forma como o segundo perl solução funciona? Não consigo perceber como o substituto sabe qual "ExitAction \u003d NENHUMA" a substituir. Vejo que você se qualificar-lo com a declaração, mas eu ainda não vejo como isso faz com que o substituto get right "ExitAction \u003d NENHUMA" e não o primeiro "ExitAction \u003d NENHUMA".
  #5 (permalink)  
Old 06-17-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
viciado
  
 

Join Date: Jan 2007
Localização: Варна, България / Milano, Italia
Mensagens: 2.928
Citação:
Originally Posted by Kahuna View Post
Radoulov,



Poderia explicar um pouco mais sobre a forma como o segundo perl solução funciona? Não consigo perceber como o substituto sabe qual "ExitAction \u003d NENHUMA" a substituir. Vejo que você se qualificar-lo com a declaração, mas eu ainda não vejo como isso faz com que o substituto get right "ExitAction \u003d NENHUMA" e não o primeiro "ExitAction \u003d NENHUMA".
Certo,
-00 a bandeira + argumento gira o parágrafo sobre a modalidade.
De perldoc perlrun:

Citação:
Muda incluem:

-0 [Octal / hexadecimal]
especifica a entrada recorde separador ($ /) como um octal ou hexadeci -
mal número. Se não há dígitos, o personagem é nulo o
separador.
[...]

O valor especial fará com que 00 Perl mastigar fazendo barulho de arquivos no n.
modo. O valor 0777 fará com que Perl mastigar fazendo barulho, porque toda a arquivos
não existe byte com esse valor.
Neste modo cada registro é um parágrafo do texto arquivado por uma ou mais linhas vazias.
Então muda o ExitAction apenas para o registro (s) / n º (s) que começam com o padrão "Task sipsiproc".
  #6 (permalink)  
Old 06-17-2008
kahuna's Avatar
Kahuna kahuna is offline
Usuário
  
 

Join Date: Apr 2007
Lugares: 149
Graças radoulov! Eu aprendi alguma coisa hoje.
Closed Thread

Marcadores

Tags
solaris

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 11:13.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0