Ich möchte ein Befehlszeilenprogramm in Mac OS X 10.8 aufrufen, das mir die Möglichkeit gibt, eine Textdatei, die in der standardmäßigen Western Mac OS Roman-Codierung gespeichert ist, in das allgemeinere UTF-8 zu konvertieren.
Ich werde das Dienstprogramm von einem AppleScript aus aufrufen, das ich erstellt habe. AppleScript ist extrem langsam, wenn mit sehr großen Textblöcken gearbeitet wird. Daher möchte ich meine Textanalyse und -konvertierung über die OS X-Befehlszeile durchführen. Ich habe ein Tool namens "sed" gefunden, mit dem ich die Textanalyse durchführen kann. Es gibt jedoch noch viele Elemente der Datei, die bereinigt werden müssen, Zeichen, die als Müll erscheinen, wenn die Datei als utf-8 geöffnet wird (z. B. Anführungszeichen und Ellipsen).
Ich denke, dass das Erzwingen einer Konvertierung der Textcodierung dazu beitragen kann, alle Nicht-utf8-Zeichen in der Datei zu entfernen. Ich kann jedoch nicht sehen, wie "sed" die Textcodierung einfach konvertieren kann.
Ich habe die temporäre txt-Datei bereits als MacRoman mithilfe der integrierten AppleScript-Routinen auf der Festplatte gespeichert.
Anforderungen:
Hat jemand von Ihnen eine Idee für ein integriertes Befehlszeilentool, das die Textcodierung konvertieren kann, oder für ein vorhandenes Paket, das für diese Aufgabe überlegen ist?
Eine andere Möglichkeit, Nicht-ASCII-Zeichen in ASCII-Varianten zu konvertieren, ist die Verwendung von iconv -t ASCII//TRANSLIT
:
$ echo ‘’“”–—…äé | iconv -t ASCII//TRANSLIT
''""--..."a'e
ASCII//IGNORE
würde Nicht-ASCII-Zeichen entfernen, aber Sie können dies beispielsweise auch mit tun tr -dc '\0-\177'
.
iconv
die Transliteration: ä → a" ?ä
nur durch a
.iconv
ist hier definitiv das Tool der Wahl:
iconv -f MACROMAN -t UTF-8 your-roman-encoded-file.txt > utf-8-encoded-file.txt
Ausführen iconv --list
, um eine Liste aller unterstützten Kodierungen anzuzeigen.
Dunkler Stern
Dunkler Stern
Tom Gewecke
Dunkler Stern
Tom Gewecke
Dan