• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

sed: RE error: illegal byte sequence

JohnnyAppleseed

Schmalzprinz
Registriert
11.09.07
Beiträge
3.561
Hallo,

ich versuche zur Zeit für ein kleines Projekt einen Text mit Part-of-Speech-Tags (also Informationen über die Wortart zu jedem Wort in einem Text) zu versehen. Dazu nutze ich das Programm TreeTagger. Leider bekomme ich immer recht schnell einen Error:

Code:
sed: RE error: illegal byte sequence

Davor steht eine vierstellige Zahl (1000, 2000 oder 3000). Dank Google kann ich schonmal erahnen, dass sed nichts mit Sozialismus zu tun hat, sondern ein UNIX-Programm ist, auf welches mein POS-Tagger anscheinend aufbaut. Ebenfalls Dank Google glaube ich nun, dass es irgendetwas mit Codierung zu tun hat. Es handelt sich bei dem Text, den das Programm schlucken soll, um ein UTF-8-Dokument mit deutschem Text. Ich habe hier den Textfetzen

Code:
LANG=C sudo sed ...

entdeckt, welches das ganze Problem angeblich recht schnell und einfach lösen soll. Leider habe ich keine Ahnung, was ich mit diesem Textfetzen jetzt anstellen soll. Vor allem die drei Punkte am Ende verwirren mich.

Weiß da jemand mehr zu? :)

Viele Grüße!
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Für UTF-8 Texte musst du die UTF-8 Version des Programms aufrufen und auch die entsprechenden UTF8-Varianten der Hilfsdateien benutzen.
 
  • Like
Reaktionen: JohnnyAppleseed

wdominik

Weißer Winterglockenapfel
Registriert
15.01.10
Beiträge
880
Also ich würde mal vermuten, dass die drei Punkte als Auslassungszeichen zu betrachten sind, sprich hier die Parameter für den sed-Aufruf eingefügt werden sollen.
Das LANG=C vor dem Befehl setzt eine sogenannte Umgebungsvariable temporär für den Aufruf des Befehls (sed). Hier wird die Variable LANG auf den Wert C gesetzt. LANG gibt auf Unix-baiserten Systemen die verwendete Sprache und das Encoding an.
Ich kenn das von dir verwendete Programm nicht, aber wenn es über die Konsole gestartet wird, würde ich versuchen, dass LANG=C vor dem Aufruf des entsprechenden Befehls zu setzen, dann müsste es an sed weitergegeben werden.

Also
Code:
LANG=C [I]treetaggeraufruf[/I]
 

JohnnyAppleseed

Schmalzprinz
Registriert
11.09.07
Beiträge
3.561
Für UTF-8 Texte musst du die UTF-8 Version des Programms aufrufen und auch die entsprechenden UTF8-Varianten der Hilfsdateien benutzen.

Oh je. Ich habe gar nicht bemerkt, dass dort noch eine deutsche Version für UTF-8-Texte im Programmverzeichnis liegt. Statt mich zu schämen, freue ich mich jetzt lieber, dass es so problemlos funktioniert. Bei diesem ganzen UTF-8-Thema scheint es aber auch genügend kleine Stellen zu geben, an denen man anecken kann, wenn man nicht in der Materie ist. Danke vielmals, Rastafari!

wdominik, da es mit der UTF-8-Version probiert, habe ich deine Sache jetzt nicht mehr getestet. Ein Dank geht aber auch an dich!