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

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

Re: [shell-script] Sed pesquisando em duas linhas


From: Jose NIEVIADONSKI
Subject: Re: [shell-script] Sed pesquisando em duas linhas
Date: Thu, 20 Mar 2003 12:23:11 -0300

Pessoal, não sei se a minha resposta anterior chegou, portanto aqui vai ela
de novo.Peço desculpas se a mesma ja foi enviada..

Crie um arquivo 'arq_cmd' com o seguinte conteúdo
#inicio do conteúdo
/^stringlinha1/{
N
s/\(^stringlinha1.*\nstringlinha2.*\)/\1/
t ok
b
:ok
#aqui voce coloca o comando a ser usado nas duas linhas!!!!
#exemplo meu subtituir linha1 por linhax
s/linha1/linhax/
}
#fim do conteúdo

e use esse comando para editar
sed -f arq_cmd arq_original > resultado

P.S.
Como você não disse o que queria fazer com o arquivo, no meu exemplo eu
troco linha1 por linhax.

Veja o que acontece com o seguinte arquivo de entrada
---dois
linha1
stringlinha1
stringlinha2continuacao
---tres
linha1
stringlinha1
stringlinha2continuacao
dsa
stringlinha1
dsads

Produz a seguinte saída como resultado
---dois
linha1
stringlinhax
stringlinha2continuacao
---tres
linha1
stringlinhax
stringlinha2continuacao
dsa
stringlinha1
dsads

Abraços a todos da lista
---dois
linha1
stringlinhax
stringlinha2continuacao
---tres
linha1
stringlinhax
stringlinha2continuacao
dsa
stringlinha1
dsads



      Para: address@hidden
      cc:
      cco:  Jose NIEVIADONSKI/HBBR/HSBC
      Assunto:    [shell-script] Sed pesquisando em duas linhas
Rodrigo Sobrinho <address@hidden>

18/03/2003 12:37 PM
Favor responder a shell-script            <font size=-1></font>

Olá

mesmo lendo várias partes do faq do sed (sedfaq.txt, ainda não consegui
solucionar

penso que a solução estaria em
4.13. How do I delete a block of specific consecutive lines?

mas não consegui chegar perto ainda

eu gostaria de cria um script que pegasse um arquivo assim

linha1
stringlinha1
stringlinha2continuacao


então ele teria que identificar uma parte no meio do arquivo, no exemplo
acima, eu quero pegar uma sequencia no meio do arquivo (note que há uma
quebra de linha no meio)

stringlinha1
stringlinha2

eu iria colocar algo assim num script (pois futuramente terei vários
arquivos), mas não funciona como eu imaginava

cat teste.txt | sed 's/^stringlinha1/stringlinha2/g' > teste.txt

alguma sugestão?

Antecipadamente grato

--
Sobrinho
(51) 3212-7239 / (51) 9842-4438
Deu pau no Windows? Lembre-se, existe uma saída
http://planeta.terra.com.br/negocios/softwarelivre




This E-mail confidential. It may also be legally privileged. If you are not the 
addressee you may not copy, forward, disclose or use any part of it. If you 
have received this message in error, please delete it and all copies from your 
system and notify the sender immediately by return E-mail.
Internet communications cannot be guaranteed to be timely, secure, error or 
virus-free. The sender does not accept liability for any errors or omissions.
 
Esta mensagem pode conter informação confidencial e/ou privilegiada. Se você 
não for o destinatário ou a pessoa autorizada a receber esta mensagem, não pode 
usar, copiar ou divulgar as informações nela contidas ou tomar qualquer ação 
baseada nessas informações. Se você recebeu esta mensagem por engano, por favor 
avise imediatamente o remetente, respondendo o e-mail e em seguida apague-o.
Comunicações pela Internet não podem ser garantidas quanto à segurança ou 
inexistência de erros, ou contendo vírus. O remetente por esta razão não aceita 
responsabilidade por qualquer erro ou omissão no contexto da mensagem 
decorrente da transmissão via Internet.



reply via email to

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