Saya ingin memanggil utilitas baris perintah di Mac OS X 10.8 yang memberi saya kemampuan untuk mengkonversi file teks yang disimpan dalam penyandian standar Western Mac OS Roman ke UTF-8 yang lebih umum.
Saya akan memanggil utilitas dari AppleScript yang telah saya buat. AppleScript sangat lambat ketika bekerja dengan blok teks yang sangat besar. Karena itu, saya ingin melakukan parsing dan konversi teks menggunakan baris perintah OS X. Saya telah menemukan alat yang disebut, "sed", yang memungkinkan saya melakukan parsing teks. Namun, masih ada banyak elemen file yang perlu dibersihkan, karakter yang muncul sebagai sampah jika file dibuka sebagai utf-8 (mis. Kutipan pintar dan elips).
Saya berpikir bahwa memaksa konversi pengkodean teks dapat membantu menghilangkan semua karakter non-utf8 dalam file. Namun, saya tidak dapat melihat bagaimana "sed" dapat dengan mudah mengkonversi pengkodean teks.
Saya sudah menyimpan file temp txt, seperti MacRoman, ke disk menggunakan rutin AppleScript bawaan.
Apakah ada di antara Anda yang memiliki ide untuk alat baris perintah bawaan yang dapat mengkonversi pengkodean teks? Baris perintah untuk kinerja dan built-in, karena pengguna skrip saya yang lain belum tentu memiliki toolset yang tepat jika tidak built-in.
Terima kasih atas bantuan Anda!
Jawaban:
Cara lain untuk mengonversi karakter non-ASCII ke varian ASCII adalah dengan menggunakan
iconv -t ASCII//TRANSLIT
:ASCII//IGNORE
akan menghapus karakter non-ASCII, tetapi Anda juga dapat melakukannya dengan misalnyatr -dc '\0-\177'
.sumber
iconv
mengizinkan untuk transliterasi: ä → a "?ä
dengan adila
.iconv
jelas merupakan alat pilihan di sini:Jalankan
iconv --list
untuk melihat daftar semua penyandian yang didukung.sumber