Por que não consigo remover o charcter usando sed?

0

Eu tenho um arquivo json e estou tentando remover os caracteres \r usando sed , mas não estou recebendo nenhuma saída.

Aqui está o documento

{"dom":"fff.dd",[{"em":"[email protected]\r"}]}
{"dom":"fff.dd",[{"em":"[email protected]"},{"em":"[email protected]\r"}]}

O comando sed que estou usando é:

sed 's/\r//' input.json

Não há erro e a saída que estou recebendo é o arquivo original com os caracteres \r ainda lá, como se nenhuma operação tivesse sido executada no arquivo.

Por favor, deixe-me saber se estou errado em algum lugar em usar o comando, e qual é o caminho certo para fazer isso.

    
por Jaffer Wilson 28.01.2017 / 06:35

1 resposta

3

Você só precisa de outra barra invertida:

sed 's/\r//' input.json

Isso porque sed interpreta \r como um retorno de linha (caractere \U0E ), mas interpreta \r como uma barra invertida e pequeno r (dois caracteres \U5C\U72 ).

    
por wjandrea 28.01.2017 / 06:51