Mailinglist Archive: opensuse-de (4938 mails)

< Previous Next >
Problem mit sed/regex;;
  • From: marc.schiffbauer@xxxxxxxxxxxxxx (Marc Schiffbauer)
  • Date: Tue May 23 18:41:01 2000
  • Message-id: <392AD0BD.9486BBD8@xxxxxxxxxxxxxx>



Hallo Leute,

Ich brauch mal eure Hilfe...

Ich schreibe gerade ein Shellscript.
Irgendwo dadrin muss ich bestimmte Teile eines Strings ersetzen, der in
einer Variable steht:

VAR3=`echo XXabXX | sed s/$VAR1/$VAR2/`

das klappt auch.
Aber nur, solange in dem String *keine* Schraegstriche vorkommen.
Da die Strings aber Pfade sind. enthalten sie auch Schraegstriche...

Wenn also so ein Slash z.B. in VAR2 steht (z.B. "cd/ef"),
dann interpretiert der sed die (verstaendlicherweise ;-)) als seine
"eigenen" slashes:

VAR1="ab"
VAR2="cd/ef"

ubstituiert sieht das dann so aus:

VAR3=`echo XXabXX | sed s/ab/cd/ef/`

ed: -e expression #1, char 8: Unknown option to 's'

Der slash in "cd/ef" muss also irgendwie maskiert werden...
aber wie verdammt? Ich hab schon alles durchprobiert.

Rauskommen soll: XXcd/efXX

Die Strings einzeln in ' oder " verpackt. Den ganzen sed-Befehl in '
oder " gepackt.
Ich habs mit allen Klammern probiert etc pp.

Preisfrage: Wer weiss wies geht?

Danke fuer eure Unterstuetzung

Gruss
-Marc


--
+------------------------------------------------------------------+
| --> http://www.links2linux.de <-- Von Linux-Usern fuer Linux-User|
| |
+---Registered-Linux-User-#136487------------http://counter.li.org +

---------------------------------------------------------------------
To unsubscribe, e-mail: suse-linux-unsubscribe@xxxxxxxx
For additional commands, e-mail: suse-linux-help@xxxxxxxx


< Previous Next >