Recientement me han pasado documentos con formato Visual Foxpro FW2 y necesitaba adaptarlos para leerlos en Word.

 

El problema es que el aspecto del fichero al abrirlo era:

texto-visual-code

 

Mi solucion fue usar el comando tr

 

Su sintaxis es un poco liosa, pero miraremos de explicarla lo mejor que podamos.

tr [OPCIÓN] … SET1 [SET2]

Donde [OPCIÓN] pueden ser cualquiera de las siguientes.

* -d Borrar los carácteres indicados en SET1
* -s Elimina o reemplaza los carácteres repetidos indicados en SET1
* -c Todos los carácteres que no sean los indicados en SET1 los convierte en SET2
* -t Trunca SET1 a la longitud de SET2

El comando reconoce los siguientes carácteres no visibles.

\NNN            carácter con valor octal NNN (de uno a tres dígitos)
\\              barra invertida
\a              pitido audible (BEL)
\b              espacio hacia atrás
\f              salto de página
\n              salto de línea
\r              retorno de carro
\t              tabulación horizontal
\v              tabulación vertical

Comando usado

 

cat fichero.fw2 |tr -cd ‘[:print:]\n’

El segundo «tr» comando elimina todos los caracteres que no se encuentra en la «impresión de caracteres» conjunto denominado «:print: «Con excepción de un carácter de avance de línea» \ n «.
El primer «tr» comandos ya ha eliminado algunos personajes que están en la «impresión de caracteres» set. Se refiere al valor octal de cada personaje (por ejemplo, \ 003 es el código de control Ctrl / C).
El resultado final contiene un subconjunto de los personajes que están en la «impresión de caracteres» establecer o caracteres de salto de línea.

En mi PC Unix la explicación del significado de «: de impresión:» está en «man 5 expresiones regulares». Probablemente será en otro «hombre» de la página en Linux.

 

A parte inclui algunas sentecias para facilitar su adaptacion:

 

for i in `ls -1`
do
nombrefichero=$(echo $i|awk ‘{print substr($1,1,9)}’)
echo $nombrefichero
cat $i |tr -cd ‘[:print:]\n’ |awk  ‘gsub(/A=/,»\n»)’ |awk  ‘gsub(/  /,»\n»)’ > $nombrefichero»doc»
done

 

Por admin

Deja una respuesta

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock