Pregunta

Tengo un archivo que se convierte de EBCDIC a ASCII. Donde solía haber nuevas líneas en la actualidad hay personajes que aparecen como <85> (un símbolo que representa un único carácter, no los cuatro personajes que parece ser) y todo el archivo se encuentra en una línea. Quiero buscar y reemplazarlos todos con nuevas líneas de nuevo, pero no sé cómo.

He intentado poner el cursor sobre uno y utilizar * para buscar la siguiente aparición, con la esperanza de que podría aparecer en mi historia / búsqueda. Eso no funcionó. Simplemente buscó la palabra que siguió a la <85> carácter.

Googled en torno a algunos, pero no vi nada obvio.

Mi objetivo es construir una búsqueda y reemplazo cadena como:

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

que en la actualidad sólo me da:

E486: Pattern not found: <85>  

Gracias!

¿Fue útil?

Solución

este post partir de una búsqueda en Google. Parece que usted debería ser capaz de hacer:

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

(Omitir el c hacer la sustitución sin preguntar, tratar con c primero para asegurarse de que está haciendo lo que quiere que haga.)

En vim, escribiendo :h \%x da más detalles. Además de \%x, puede utilizar \%d, \%o, \%u y \%U para decimal, octal, hasta cuatro y hasta ocho caracteres hexadecimales.

Otros consejos

intente esto: :%s/<85>/^M/g

Nota: pulse Ctrl-V juntos entonces M

o si no les importa usar otra herramienta,

awk '{gsub("<85>","\n")}1' file
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top