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.
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
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:
cat original.txt | recode pc > final.txt
cat original.txt | recode ISO_8859-1..UTF8 > final.txt
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.
Comentaris
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.
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.