2009-11-30 5 views
5

Come posso leggere correttamente i file in codifiche diverse da UTF8 in Awk?Come leggere i file con codifiche diverse usando Awk?

Ho un file in ebraico/Windows-1255 codifica. Un semplice {print $ 0} awk stampa cose come . come posso farlo leggere correttamente?

+1

Questo probabilmente ha a che fare tanto con il terminale quanto con awk. –

risposta

6

awk stesso non ha alcun supporto per la gestione di codifiche diverse. Rispetterà le impostazioni locali specificate nell'ambiente, ma la soluzione migliore è transcodificare l'input con la corretta codifica prima di inviarlo a awk.

-f è il formato da cui si desidera convertire, -t è il formato di destinazione e -c ignora tutti i caratteri non validi che interrompono prematuramente l'operazione di iconv. Ovviamente, help darà maggiori dettagli.

iconv -c -f cp1255 -t utf8 somefile | awk ... 
+0

cool. Grazie. (caratteri di riempimento ....) –