Question

J'ai un fichier qui a été converti EBCDIC ASCII. Là où il y avait de nouvelles lignes il y a maintenant des personnages qui apparaissent comme <85> (un symbole représentant un seul caractère, pas les quatre caractères, il semble être) et le fichier entier est sur une ligne. Je veux les rechercher et de les remplacer tous avec de nouvelles lignes à nouveau, mais je ne sais pas comment.

J'ai essayé de mettre le curseur sur l'un et l'aide * pour rechercher l'occurrence suivante, en espérant que cela pourrait apparaître dans mon / historique de recherche. Cela n'a pas fonctionné. Il vient de rechercher le mot qui a suivi le caractère <85>.

Je googlé autour de certains, mais n'a pas vu quelque chose d'évident.

Mon but est de construire une recherche et chaîne de remplacement comme:

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

Ce qui me donne actuellement:

E486: Pattern not found: <85>  

Merci!

Était-ce utile?

La solution

J'ai trouvé ce message d'une recherche Google. On dirait que vous devriez être en mesure de le faire:

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

(Omettre le c faire le remplacement sans demander, essayez avec c d'abord pour vous assurer qu'il est en train de faire ce que vous voulez faire.)

Dans vim, en tapant :h \%x donne plus de détails. En plus de \%x, vous pouvez utiliser \%d, \%o, \%u et \%U pour décimal, octal, jusqu'à quatre et jusqu'à huit caractères hexadécimaux.

Autres conseils

essayez ceci: :%s/<85>/^M/g

Note: appuyez sur Ctrl-V ensemble, puis M

ou si vous ne me dérange pas d'utiliser un autre outil,

awk '{gsub("<85>","\n")}1' file
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top