Discussion:
fremdcodierte Umlaute ersetzen mit sed
(zu alt für eine Antwort)
Boris Kirkorowicz
2012-02-23 09:56:03 UTC
Permalink
Hallo,
ich möchte Umlaute in Dateien ersetzen, die offenbar DOS-codiert o.ä.
sind, also bspw. aus "Gebhren" oder "Geb�hren" "Gebühren" oder besser
gleich "Gebuehren" machen. Leider gelingt mir das nicht mit der Zeile
sed 's/�/ue/g' filename
nicht: die Datei enthält nach wie vor "Geb�hren". Auch maskieren wie
sed 's/\�/ue/g' filename
hat nichts gebracht (ist das so überhaupt zulässig?). Ebenfalls erfolglos:
sed '/� s//ü/g' filename


Da auch die Kristallgoogle mich nicht schlauer gemacht hat, frage ich
hier nach, ob jemand weiß, wie es geht.
--
Mit freundlichem Gruß Best regards
Boris Kirkorowicz
Henning Paul
2012-02-23 10:04:37 UTC
Permalink
Post by Boris Kirkorowicz
ich möchte Umlaute in Dateien ersetzen, die offenbar DOS-codiert o.ä.
sind, also bspw. aus "Gebhren" oder "Geb�hren" "Gebühren" oder besser
gleich "Gebuehren" machen. Leider gelingt mir das nicht mit der Zeile
sed 's/�/ue/g' filename
nicht: die Datei enthält nach wie vor "Geb�hren". Auch maskieren wie
sed 's/\�/ue/g' filename
sed '/� s//ü/g' filename
Da auch die Kristallgoogle mich nicht schlauer gemacht hat, frage ich
hier nach, ob jemand weiß, wie es geht.
Warum sed und nicht iconv?

Gruß
Henning
Boris Kirkorowicz
2012-02-23 10:51:53 UTC
Permalink
Hallo,
Post by Henning Paul
Warum sed und nicht iconv?
soweit ich sehe kann iconv nicht ü nach ue umsetzen. Zudem müsste ich
erst die Codepage recherchieren, und es tummeln sich viele verschiedene
hier -da befürchte ich auch ungewollte oder falsche Umsetzungen.
Einzelne Zeichen mit C&P in ein Script zu übertragen scheint mir da
leichter und sicherer.
--
Mit freundlichem Gruß Best regards
Boris Kirkorowicz
Henning Paul
2012-02-23 11:02:54 UTC
Permalink
Post by Boris Kirkorowicz
Hallo,
Post by Henning Paul
Warum sed und nicht iconv?
soweit ich sehe kann iconv nicht ü nach ue umsetzen. Zudem müsste ich
erst die Codepage recherchieren, und es tummeln sich viele
verschiedene hier -da befürchte ich auch ungewollte oder falsche
Umsetzungen. Einzelne Zeichen mit C&P in ein Script zu übertragen
scheint mir da leichter und sicherer.
Ok. Dann versuche den Umlaut oktal oder hexadezimal zu codieren:
\033 octal char (example: ESC)
\x1B hex char (example: ESC)
\x{263a} long hex char (example: Unicode SMILEY)

Den Hexwert kannst Du bspw. mit "hexdump -C datei" herausbekommen.

Gruß
Henning
Boris Kirkorowicz
2012-02-23 11:18:23 UTC
Permalink
Hallo,
Danke, das läuft.
--
Mit freundlichem Gruß Best regards
Boris Kirkorowicz
Wolfgang Bauer
2012-02-23 11:07:52 UTC
Permalink
Post by Boris Kirkorowicz
Hallo,
ich möchte Umlaute in Dateien ersetzen, die offenbar DOS-codiert o.ä.
sind, also bspw. aus "Gebhren" oder "Geb�hren" "Gebühren" oder besser
gleich "Gebuehren" machen. Leider gelingt mir das nicht mit der Zeile
sed 's/�/ue/g' filename
nicht: die Datei enthält nach wie vor "Geb�hren". Auch maskieren wie
sed 's/\�/ue/g' filename
sed '/� s//ü/g' filename
Eigentlich kann TB sehr gut mit verschiedensten Kodierungen umgehen.
Hast Du TB richtig eingestellt?
http://www.wolfgang-bauer.at/tb/Einstellungen.html

Wolfgang
--
openSUSE 12.1 (i586)/KDE/4.8.0
http://www.wolfgang-bauer.at
Boris Kirkorowicz
2012-02-23 11:22:06 UTC
Permalink
Hallo,
Post by Wolfgang Bauer
Eigentlich kann TB sehr gut mit verschiedensten Kodierungen umgehen.
Hast Du TB richtig eingestellt?
ich denke schon -meine Frage bezog sich auch nicht auf TB, sondern
Textdateien. Dass hier Fragezeichen o.ä. in meiner Nachricht
auftauchten, war beabsichtigt.
--
Mit freundlichem Gruß Best regards
Boris Kirkorowicz
Loading...