Ricodifica e pulisci i file di testo nel Terminale


1

Ho una serie di file di testo di codifica indeterminata che ho bisogno di pulire caratteri insoliti. Ho usato Python biblioteca chadet per stabilire che rispettano l'87% ISO-8859-2, ma contengono ancora caratteri non conformi che impediscono la lettura in R - descritto in questo post SO . Mi chiedo se c'è un modo, preferibilmente un metodo a riga di comando, per pulirli in batch e convertirli in UTF-8, con tutti i caratteri non confermanti modificati in qualcosa come "~". Molto grato per l'assistenza.

Risposte:


2

Hai provato con iconv? Non so se OSX contiene questo comando ma ecco un esempio:

iconv -t UTF-8 myfile.txt

Se fallisce, prova a traslitterarlo:

iconv -t UTF-8//TRANSLIT myfile.txt

Aggiornamento (dai commenti):

Dopo un po 'di sperimentazione iconv -t UTF-8//TRANSLIT -c infile > outfile.txt ha fatto il lavoro Grazie ragazzi.


Ahimè, capisco iconv: SMKA121212 copy:13:121: cannot convert
geotheory

Modificata la mia risposta, prova con // TRANSLIT come mostrato sopra
Savvas Radevic

OS X iconv non sembra supportare la traslitterazione.
Daniel Beck

1
Dopo un po 'di sperimentazione iconv -t UTF-8//TRANSLIT -c infile > outfile.txt ha fatto il lavoro Grazie ragazzi.
geotheory

2
L'implementazione libiconv di iconv che viene fornito con OS X supporta //TRANSLIT e //IGNORE. Vedere man iconv_open.
Lri
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.