Hallo, Am Don, 10 Sep 2009, Manfred Hollstein schrieb:
On Thu, 10 Sep 2009, 21:04:30 +0200, Al Bogner wrote:
var1="a b c" var2="a d e f" var3="$var1"" ""$var1" var4 wird per Bash-Skript aus var3 erstellt und ergibt zB "a b c d e f"
Wie entferne ich aus var4 den Inhalt von var1, sodass sich "d e f" ergibt?
Das Problem ist, dass Variablen verwendet werden müssen und nicht feste Zeichenketten.
$ echo `echo "$var4" | sed -e "s,[:space:]*$var1[:space:]*,,g"` ^^^^^^^^^ Da fehlen nochmal [] Mit dem echo `...` beseitigst du eventuelle Leerzeichen am Anfang oder Ende, die du ja nicht haben wolltest.
Das sollte man auch besser im sed erledigen. echo "$var4" | sed -e "s/[[:space:]]*${var1}[[:space:]]*,,g; s/^[[:space:]]*//;s/[[:space:]]*$//" HTH, -dnh -- <[TN]FBMachine> i got kicked out of barnes and noble once for moving all the bibles into the fiction section -- http://www.bash.org/?406373 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org