Ich möchte ein Befehlszeilen-Dienstprogramm in Mac OS X 10.8 aufrufen, mit dem ich eine Textdatei, die in der Standard-Codierung von Western Mac OS Roman gespeichert wurde, in das allgemeinere UTF-8 konvertieren kann.
Ich werde das Dienstprogramm von einem AppleScript aufrufen, das ich erstellt habe. AppleScript ist extrem langsam, wenn Sie mit sehr großen Textblöcken arbeiten. Aus diesem Grund möchte ich das Parsen und Konvertieren von Text mithilfe der 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 in der Datei, die bereinigt werden müssen. Zeichen, die beim Öffnen der Datei als utf-8 angezeigt werden (z. B. intelligente Anführungszeichen und Ellipsen).
Ich denke, dass das Erzwingen einer Textcodierungskonvertierung dazu beitragen kann, alle Nicht-UTF8-Zeichen in der Datei zu entfernen. Ich kann jedoch nicht sehen, wie "sed" die Textcodierung leicht konvertieren kann.
Ich habe die temporäre txt-Datei bereits als MacRoman mit den integrierten AppleScript-Routinen auf der Festplatte gespeichert.
Hat jemand von euch eine Idee für ein eingebautes Befehlszeilentool, das die Textkodierung konvertieren kann? Befehlszeile für Leistung und integrierte Funktionen, da andere Benutzer meines Skripts nicht unbedingt das richtige Toolset haben, wenn es nicht integriert ist.
Danke für Ihre Hilfe!
Antworten:
Eine andere Möglichkeit, Nicht-ASCII-Zeichen in ASCII-Varianten zu konvertieren, besteht darin, Folgendes zu verwenden
iconv -t ASCII//TRANSLIT
:ASCII//IGNORE
würde Nicht-ASCII-Zeichen entfernen, aber Sie können dies zum Beispiel auch mit tuntr -dc '\0-\177'
.quelle
iconv
das Transliterieren von: ä → a "?ä
durch just ersetzta
.iconv
ist definitiv das Werkzeug der Wahl hier:Führen Sie
iconv --list
den Befehl aus , um eine Liste aller unterstützten Codierungen anzuzeigen.quelle