Substituir um caractere de controle por outro caractere de controle

3

Um arquivo csv está sendo gerado com um caractere de feed de formulário ( \f ). Isso dificulta a leitura no Excel, etc.

Como posso converter o caractere de feed de formulário em um caractere de nova linha ( \n )?

Todas as minhas pesquisas até agora mostram como substituir o caractere de controle por um caractere literal, não por outro caractere especial

    
por Bwana Lawi 20.11.2015 / 12:50

1 resposta

3

Com o GNU sed :

sed 's/\f/\n/g' file

Outro sed s:

sed "$(printf 's/\f/\\n/g')" file

Ou com tr :

tr '\f' '\n' <file

com perl :

perl -pi -e 's/\f/\n/g' file

O -i é sobrescrever o arquivo no local. Para edição no local com tr :

tr '\f' '\n' < file 1<> file
    
por 20.11.2015 / 12:55