[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.
- Re: [shell-script] Sed pesquisando em duas linhas,
Jose NIEVIADONSKI <=