Convertint fitxers de text entre formats i jocs de caràcters

Amb fitxers de text, tot sovint podem tenir la necessitat de fer-ne conversions, ja sigui de joc de caràcters (per exemple, entre ISO-8859-1 o Latin1 i UTF-8) o entre format segons la plataforma (PC, amb CR o "\r" al final de la línia, a Lunix o Unix, sense el CR). Per fer-ho amb comoditat des de la línia de comandes ho podem fer amb el recode.

Obtenint el recode

Per saber si el tenim o no disponible en el nostre sistema, des de la linia de comandes podem fer 'man recode' o 'info recode'. En cas de no tenir-lo, podem anar a la web del recode
o instal·lant-lo amb el gestor de paquets que tinguem: Per exemple amb guinix derivat del Fedora ho podem fer amb la comanda:

apt-get install recode

Fent servir el recode

Posarem un parell d'exemples, un de conversió de fitxer de text en format PC a Linux/Unix, i l'altre de ISO-8859-1 a UTF-8. Adoneu-vos que el recode és una comanda que per defecte fa servir l'stdin com a entrada, i l'stdout com a sortida, per tant una manera còmode de fer-lo servir és via pipes. D'aquesta manera, suposant que el fitxer d'entrada en diem "original.txt" i el destí, "final.txt", els exemples serien:

  1. PC a Linux/Unix (suprimint els CR).

    cat original.txt | recode pc > final.txt
  2. De ISO-8859-1 o Latin1 a UTF-8

    cat original.txt | recode ISO_8859-1..UTF8 > final.txt

Per a més informació

Des de la mateixa línia de comandes podeu executar:

man recode

o bé...

info recode

Hi veureu una informació molt complerta i amb molts d'exemples.

Opcions de visualització de comentaris

Escull com vols veure els comentaris i clica 'Desa configuració' per activar els canvis.

genial!

no vegis el bé que m'anirá aquest programa!!

el gnome utilitza per defecte el utf-8 i quan porto arxius a windows estan en iso i tinc de passar-me 5 minuts per arxiu a canviar-hi les lletres i tot, l'estava buscant pero no l'havia trobat encara un com aquest !

gràcies ramon!

PC a Linux/Unix (suprimint els CR) una altra opció

Interessant, això de poder recodificar els fitxer. Smiling me l'apunto!

Per tal de passar de formmat DOS a Unix, també existeix la comanda "dos2unix nomfitxer" i per fer a l'inversa també tenim "unix2dos nomfitxer".

a debian i derivats es troba dins el packet sysutils.

pàgina generada en: 0.485 segons.