Umlaut beim Suchen mit grep

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
pinguino
Beiträge: 147
Registriert: 23.01.2007 23:11:46

Umlaut beim Suchen mit grep

Beitrag von pinguino » 06.11.2010 11:28:46

Hallo,

ich habe mir Skript gebastelt, das alle Dokumente des Typs (html, txt, doc) nach einem Wort durchsucht. Jedoch habe ich das Problem das z.B das Wort "Hörmal" nicht findet.

Code: Alles auswählen

locale -a
zeigt

Code: Alles auswählen

C
de_DE.utf8
POSIX
Außerdem zeigt das Output folgende Umwandlung des Wortes "Hörmal":

Code: Alles auswählen

H\303\266rmal
Ich habe versucht, die Umgebungsvariablen zu ändern. Im Skript habe ich:

Code: Alles auswählen

LANG=de_DE.utf8
LC_CTYPE="de_DE@utf8"
oder

Code: Alles auswählen

LANG=de_DE@euro
LC_CTYPE="de_DE@euro"
verwendet. Dann habe ich mit GTK+ Probleme, da anscheinend zenity nicht mit "euro" umgehen kann. Danke.
Gruß

Pinguino

>>Nota bene<<

Benutzeravatar
pinguino
Beiträge: 147
Registriert: 23.01.2007 23:11:46

Re: Umlaut beim Suchen mit grep

Beitrag von pinguino » 07.11.2010 11:24:04

so, ich habe eine Lösung für mein Problem gefunden:

Die Datei, die ich durchsuchen und mir eine Ausgabe anzeigen sollte, war in ISO-8859-15 codiert. Mein System ist aber mit UTF-8 eingestellt. Ich habe die Datei konvertiert:

Code: Alles auswählen

iconv -f ISO_8859-15 -t UTF-8 test.html -o testdatei
und siehe da; jetzt bekomme ich die Ausgabe, die ich wollte; also testdatei angezeigt.
Gruß

Pinguino

>>Nota bene<<

Benutzeravatar
Meillo
Moderator
Beiträge: 9250
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Umlaut beim Suchen mit grep

Beitrag von Meillo » 07.11.2010 16:24:34

pinguino hat geschrieben:

Code: Alles auswählen

locale -a
zeigt

Code: Alles auswählen

C
de_DE.utf8
POSIX
`locale -a' zeigt die auf dem System vorhandenen Locales, `locale' zeigt die gesetzten Locales. Ich denke an dieser Stelle waere es relevant gewesen welche gesetzt sind.

Aber das Problem ist ja schon geloest.
Use ed once in a while!

Antworten