plutowitsch
Goto Top

Bash sed: Umlaute

Hallo,

ich hoffe jemand kann mir hier helfen. Ich versuche einen String dahingehend zu manipulieren, dass ich alles vor einem Komma lösche. Sobald ein Name oder ein Wort mit Umlauten vor dem Komma steht, wird dieses allerdings nicht gelöscht. Hat jemand eine Idee oder einen Codeschnipsel zur Hand?

OHNE UMLAUT:
So solls:
Kevin Pencs
So kommts raus:
Kevin Pencs

UMLAUT:
So solls:
Mariane Trüggelmann
So kommts raus:
Trüggelmann, Mariane Trüggelmann

Code:
sed 's/^.*\,'

Mit freundlichen Grüßen
pluto


EDIT: Es mag wohl an der Quelldatei liegen. Diese ist eine HTML-Datei aus der Namen rausgefiltert und aufbereit werden. In dieser HTML-Datei zeigt PuTTy mir schon ?-Kästchen an, überall dort wo ein Umlaut steht.

Content-ID: 277909

Url: https://administrator.de/contentid/277909

Ausgedruckt am: 22.11.2024 um 16:11 Uhr

Lochkartenstanzer
Lochkartenstanzer 21.07.2015 um 11:47:24 Uhr
Goto Top
Zitat von @plutowitsch:

//EDIT: Es mag wohl an der Quelldatei liegen. Diese ist eine HTML-Datei aus der Namen rausgefiltert und aufbereit werden. In
dieser HTML-Datei zeigt PuTTy mir schon ?-Kästchen an, überall dort wo ein Umlaut steht.

Natürlich liegt es an der Quelldatei. Wie sind denn die Unlaute codiert? ISO-8859-1, UTF-8 UTF-16? oder etwas ganz anderes?

Dementsprechend mußt Du dann in sed auch die Umlaute angeben.

Am besten dumps Du die datei mit od und schaust nach, wie die Laute codiert sind.

lks
plutowitsch
plutowitsch 21.07.2015 um 12:11:44 Uhr
Goto Top
Danke für die Antwort. Ich habe bereits versucht die Datei in UTF-8 umzuwandeln, leider ohne Erfolg. Irgendwas läuft bei dem Import über WinSCP falsch. Wenn ich den Inhalt der Datei aus Windows heraus per Copy'n'Paste in nano kippe funktionierts ohne Probleme.

Beste Grüße
pluto