# €-zeichen mit vi und sed erkennen - wie?



## starter_de (16. Mai 2004)

Hallo,
ich habe eine CSV-Datei, welche ich in mysql importieren möchte. Zuvor möchte ich alle €-Zeichen mit sed löschen. 
Leider ist das €-Zeichen nicht "fassbar".

Mit vi betrachtet wird das €-Zeichen als  "~@" dargestellt.
Mit cat betrachtet, wird das €-Zeichen erst gar nicht dargestellt.

Ich kann zwar das €-Zeichen eingeben, aber mit "/€" unter vi lässt sich das "~@" nicht finden. Auch mit "/~@" kann ich das angezeigte "~@" nicht finden.

Ich setze putty ein. Unter Windows werden die €-Zeichen in der CSV-Datei korrekt angezeigt.

Wie kann ich das €-Zeichen mit sed löschen?

Hoffe, jemand hier weiss Rat.
starter_de


----------



## RedWing (16. Mai 2004)

Also mit sed kenn ich mich so gut wie nicht aus,
aber im vi kannst du den String finden indem du das ~ vorher entwertest.

also mit

/\~@

Und ersetzen kannst dus im vi demnach folgendermassen

:%s/\~@/ersatz

Gruß

RedWing


----------



## starter_de (16. Mai 2004)

Danke erst einmal für die Antwort.

Jedoch habe ich vergessen zu erwähnen, dass ich Deinen Vorschlag bereits probiert hatte. Klappt nicht.

Das "@" wird zwar dargestellt, ist aber nicht wirklich da... Ich meine, wenn ich mit dem Cursor die Zeile entlang "gehe", wird zwar "~" lokalisiert (also incl. Positionsangabe, z.B. 113), aber "@" wird dann übersprungen (als Positionsangabe unter vi wird dann 114-115 angeben.)

Hm... komme hier leider nicht weiter...


----------



## RedWing (16. Mai 2004)

Wieso löschst du das € Zeichen nicht einfach unter Windows und spielst es dann 
via scp auf deinen Remote Rechner?

Gruß

RedWing


----------



## starter_de (16. Mai 2004)

Ich will diesen Job und ein paar andere Manipulationen automatisch als crontab laufen lassen. Müsste im Idealfall täglich auf dem Server gemacht werden. Also, Bearbeitung mit Microsoft macht leider keinen Sinn.

Hat jemand noch eine Idee, oder weiss, warum das "€"-zeichen als "~@" dargestellt wird?


----------



## JohannesR (16. Mai 2004)

Evt. fehlt das Euro-Zeichen im eingesetzten Zeichensatz, oder der Zeichensatz selber ist nicht korrekt (ISO-8859-15)?

Edit: Wenn du das Zeichen \x{20AC} ersetzt sollte es klappen.


----------



## starter_de (17. Mai 2004)

Danke für die Antwort.

sed -e 's/\x{20AC}/modification/' xyz.csv > xyz_1.csv

bringt leider nicht den gewünschten Erfolg... schade.

Aber so habe ich es mir auch vorgestellt: es muss doch für "~@" irgendein anderes Zeichencode geben. Leider habe ich nichts dergleichen "ergooglen" können.


----------

