Você pode combinar explicitamente qualquer coisa, exceto I
:
sed -i 's/\x02\([^I]\)//g
Corresponde a qualquer par de caracteres que seja qualquer caractere diferente de I
precedido por \x02
e o substitua pelo segundo caractere.
Estou tentando excluir o caractere x02 de um arquivo, posso excluir facilmente x02 de um arquivo usando o comando sed -i 's/\x2//g'
. Problema aqui é que eu não quero excluir o caractere x02 que imediatamente começa com I
. Exceto que eu quero apagar todos os outros caracteres x02.
Exemplo:
Dados do arquivo:
I^A12^Agop^Bal^BI^A3^B^B4^Aramu^BI^A56^Asubbu^BI^A78^Asai^B
Resultado esperado:
I^A12^Agopal^BI^A34^Aramu^BI^A56^Asubbu^BI^A78^Asai^B
Você pode combinar explicitamente qualquer coisa, exceto I
:
sed -i 's/\x02\([^I]\)//g
Corresponde a qualquer par de caracteres que seja qualquer caractere diferente de I
precedido por \x02
e o substitua pelo segundo caractere.
sed -e '
s/\(\x02\)*//g; # erase 2 or more consecutive STX chars
s/\x02\([^I]\)//g; # erase the STX only if followed by a non-I char
' yourfile
Tags delete