Como posso combinar um padrão, excluir o padrão e também a linha seguinte e a anterior no Solaris 10?
Estou atacando a parede porque o Solaris não vem com o GNU sed.
Dado o seguinte conteúdo do arquivo:
LinearFile(3F007F106F3B, FDN, 29, 20)
LinearFile(3F007F106F40, XXX, 29, 1)
{
LinearRec(1, 12345)
}
LinearFile(3F007F106F3C, SMS, 176, 20)
LinearFile(3F007F106F4F, ECCP, 15, 10)
LinearFile(3F007F106F40, XXX, 29, 1)
{
LinearRec(1, FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)
}
LinearFile(3F007F106F42, SMSP, 43, 3)
BinaryFile(3F007F106F43, SMSS, 2)
LinearRec(1, 12345)
Gostaria de remover o bloco que contém:
{
LinearRec(1, FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)
}
O arquivo seria:
LinearFile(3F007F106F3B, FDN, 29, 20)
LinearFile(3F007F106F40, XXX, 29, 1)
{
LinearRec(1, 12345)
}
LinearFile(3F007F106F3C, SMS, 176, 20)
LinearFile(3F007F106F4F, ECCP, 15, 10)
LinearFile(3F007F106F40, XXX, 29, 1)
LinearFile(3F007F106F42, SMSP, 43, 3)
BinaryFile(3F007F106F43, SMSS, 2)
LinearRec(1, 12345)
Para excluir a próxima linha, enviei o seguinte:
sed -e '/LinearRec(1\,\ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)/{n;d;}' file.txt
E a linha que combina com a linha anterior?
Talvez isso possa ser feito usando ed ou vi?
Thx!