glennm
Goto Top

SED Probleme mit Sonderzeichen

Ich versuche per SED Zeichen in einer .txt Datei zu ersetzten

Darin sieht es in etwa so aus:
ø1000112ø;øTERRA PC-GAMER 8000ø;øPC TERRAø;øPC-GAMERø

Ich will also nun per SED das ø Zeichen durch \" ersetzen.

Versucht habe ich es inzwischen mit

sed \'s/ø/\"/g\' Liste.txt >import.txt

und

sed \'s/\\\\\\\\155/\"/g\' Liste.txt >import.txt

und

sed \'s/\\\\\\\\155/\\\\\\\\034/g\' Liste.txt >import.txt

Er macht zwar immer irgendwas, bzw. gibt es keine Fehlermeldung, aber das ø wird nie ersetzt.

Hat jemand eine Idee was ich hier falsch mache???

Danke schon mal
Glenn

Content-Key: 149741

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

Printed on: April 25, 2024 at 05:04 o'clock

Mitglied: 77559
77559 Aug 29, 2010 at 10:58:01 (UTC)
Goto Top
Hallo Glenn,

unklar ist mir deiner Frage Sinn....

Welches Betriebssystem/Shell/Sed-Version ?

Meinst du mit \" ein escape'tes Anführungszeichen oder soll das ein \ gefolgt von einem " sein ?

Unter Windows XP mit GNU sed version 4.1.2 funktioniert dies hier:
chcp 1252
Aktive Codepage: 1252.

dumphex Liste.txt
DumpHex Version 1.0.1
Copyright (c) 2003 Robert Bachmann

00000000h: F8 31 30 30 30 31 31 32 F8 3B F8 54 45 52 52 41 ø1000112ø;øTERRA
00000010h: 20 50 43 2D 47 41 4D 45 52 20 38 30 30 30 F8 3B  PC-GAMER 8000ø;
00000020h: F8 50 43 20 54 45 52 52 41 F8 3B F8 50 43 2D 47 øPC TERRAø;øPC-G
00000030h: 41 4D 45 52 F8 0D 0A                            AMERø..

sed \'s/ø/\"/g\' Liste.txt  
sed: -e expression #1, char 11: unterminated address regex

sed "s/ø/\"/g" Liste.txt  
"1000112";"TERRA PC-GAMER 8000";"PC TERRA";"PC-GAMER"  

>import.txt sed "s/ø/\"/g" Liste.txt  

dumphex import.txt
DumpHex Version 1.0.1
Copyright (c) 2003 Robert Bachmann

00000000h: 22 31 30 30 30 31 31 32 22 3B 22 54 45 52 52 41 "1000112";"TERRA  
00000010h: 20 50 43 2D 47 41 4D 45 52 20 38 30 30 30 22 3B  PC-GAMER 8000";  
00000020h: 22 50 43 20 54 45 52 52 41 22 3B 22 50 43 2D 47 "PC TERRA";"PC-G  
00000030h: 41 4D 45 52 22 0D 0A                            AMER"..  

12:48:55 +C:\Test\2010-08\29

Gruß
LotPings
Member: GlennM
GlennM Sep 01, 2010 at 06:38:35 (UTC)
Goto Top
Hmm sorry, mir war nicht bewusst das es bei unterschiedlichen BS Unterschiede im Syntax gibt.

GNU sed
version 3.02.80

unter Windows 7 32bit

Ich meinte ich wollte ein ø durch ein " ersetzten. das \ davor sollte eigentlich nicht dahin. Mein Fehler.

Deine DumpHex Konstruktion kann ich leider nicht ganz nachvollziehen.
Sollte das ersetzten von zugegeben speziellen Zeichen nicht auch in einem SED Einzeiler hinzu bekommen sein?
Oder wolltest du mit den Hex Auszügen nur was veranschaulichen?

Die Liste ist nicht eben klein (4MB txt), was ich da angegeben hatte war natürlich nur ein kleiner Ausschnitt daraus.

cu
Glenn
Mitglied: 77559
Solution 77559 Sep 01, 2010 at 16:34:30 (UTC)
Goto Top
Das diente nur zur Demonstration,

für dich sollte Zeile 19 ausreichen, probier es doch einfach aus!

Gruß
LotPings