[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Sed :: Não substituir entre dois intervalos.
From: |
Fabio R. Medeiros |
Subject: |
Re: [shell-script] Sed :: Não substituir entre dois intervalos. |
Date: |
Sat, 13 Jul 2013 08:38:49 -0700 (PDT) |
Não tenho como testar agora, mas já tentou colocar os endereços entre
parêntesis:
sed '
(/^\#f1\#/,/^\#ff1\#/ | /^\#f2\#/,/^\#ff2\#/) ! {
s/qwerty/TESTE/g
}' 01
Talvez seja preciso "escapar" os ( )...
________________________________
De: Rodrigo Boechat <address@hidden>
Para: address@hidden
Enviadas: Sábado, 13 de Julho de 2013 6:31
Assunto: [shell-script] Sed :: Não substituir entre dois intervalos.
Pessoal, bom dia!
Como eu faria para não aplicar substituições entre dois intervalos?
Exemplo:
cat >01<<EOF
qwerty
qwerty
#f1#qwerty
qwerty#ff1#
qwerty
#f2#qwerty#ff2#
qwerty
qwerty
qwerty
EOF
Tentando da forma que descrevo abaixo, obtive o seguinte erro:
sed: -e expressão #1, caractere 29: comando desconhecido: `|'
sed '
/^\#f1\#/,/^\#ff1\#/ | /^\#f2\#/,/^\#ff2\#/ ! {
s/qwerty/TESTE/g
}' 01
Andei pesquisando na net e ainda não achei algo parecido.
Preciso encontrar um intervalo, #f1# e#ff1#, ou o outro, #f2# e #ff2#,
para não executar o s/qwerty/TESTE/g, dentro deles.
Alguém sabe como me ajudar?
Desde jáagradeço!
Rodrigo Boechat
[As partes desta mensagem que não continham texto foram removidas]
[As partes desta mensagem que não continham texto foram removidas]