Pergunta

Eu tenho um arquivo que foi convertido do EBCDIC para ASCII. Onde costumava haver novas linhas, agora existem caracteres que aparecem como <85> (um símbolo que representa um único caractere, não os quatro caracteres que parece ser) e todo o arquivo está em uma linha. Quero procurá -los e substituí -los todos por novas linhas novamente, mas não sei como.

Tentei colocar o cursor sobre um e usar * para procurar a próxima ocorrência, esperando que ele apareça no meu histórico de pesquisa / pesquisa. Isso não funcionou. Ele apenas procurou a palavra que seguiu o personagem <85>.

Pesquisei em torno de alguns, mas não vi nada óbvio.

Meu objetivo é construir uma pesquisa e substituir string como:

:%s/<85>/\n/g   

Que atualmente me dá:

E486: Pattern not found: <85>  

Obrigado!

Foi útil?

Solução

eu encontrei esta postagem de uma pesquisa no Google. Parece que você deve ser capaz de fazer:

:%s/\%x85/\r/gc

(Omita o c Para fazer a substituição sem avisar, tente com c primeiro a se certificar de que está fazendo o que você quer fazer.)

Em vim, digitando :h \%x fornece mais detalhes. Além de \%x, você pode usar \%d, \%o, \%u e \%U Para decimal, octal, até quatro e até oito personagens hexadecimais.

Outras dicas

Experimente isso: :%s/<85>/^M/g

Nota: Pressione Ctrl-V juntos então M

Ou se você não se importa de usar outra ferramenta,

awk '{gsub("<85>","\n")}1' file
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top