Mailinglist Archive: opensuse-de (4938 mails)

< Previous Next >
RE: Problem mit sed/regex;;
  • From: David@xxxxxxxxxx (David Haller)
  • Date: Tue May 23 22:35:42 2000
  • Message-id: <XFMail.000524003542.David@xxxxxxxxxx>



Hallo Marc,

Marc Schiffbauer wrote:
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...

Versuch mal:

===== Beisskante =====
# file: test.sh -- sed s mit / in Mustervariable?
#
# Wenn ein / vorkommt, dann wollen wie dieses in der Hilfsvariablen
# VARTMP fuer sed geeignet maskieren

VAR1=marc
VAR2=dh/bin
# VAR2=dh

if echo $VAR2 | grep /; then
VARTMP=`echo "$VAR2" | sed s/"\/"/'\\\\'"\/"/`
else
VARTMP="$VAR2"
fi

# echo "\$VARTMP=$VARTMP"

VAR3=`echo /home/marc/test.sh | sed s/$VAR1/$VAR3/`
echo "\$VAR3=$VAR3"
unset VARTMP

===== Beisskante =====

CU
David


--
"DOS=HIGH ...I knew it was on something!"
(UNIX user, while reading C:\CONFIG.SYS)

email: David@xxxxxxxxxx www: www.dhaller.de

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


< Previous Next >
Follow Ups
References