Excluir / caractere x02 de um arquivo

0

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
    
por Ram 26.02.2017 / 14:46

2 respostas

1

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.

    
por 26.02.2017 / 15:53
0
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
    
por 27.02.2017 / 12:31

Tags