Hallo, Am Sun, 13 Feb 2005, Al Bogner schrieb:
Eine Variable setzt sich aus vorhergenden anderen Variablen zusammen. In dieser Variable sollen bestimmte Zeichen, zb [ :;] mit sed ersetzt werden, das auch vom Verständnis klar ist, _bedingt_ soll auch ein Punkt entfernt werden und zwar nur dann, wenn er sich am Ende des Textes befindet.
Bitte Beispiel! Naja, *microfasertuch-raushol-und-glaskugel-polier* Meinst du evtl. sowas?: dies@ist: ~/ein/shellprompt $ ( var1="foo"; var2=" bar "; var3="baz" varX="$var1:$var2;$var3" varY="$var1:$var2;$var3." echo "$varX" | sed 's/[ :;]//g;s/\.$//' echo "$varY" | sed 's/[ :;]//g;s/\.$//' # Oder eher so? echo "$varX" | sed 's/[ :;]\|\.$//g' echo "$varY" | sed 's/[ :;]\|\.$//g' # Oder willst du den Punkt nur in der letzten Zeile und wenn er dort # auch am Ende steht ersetzen, wenn das was sed sieht mehrzeilig ist? var="$var1. $var1:$var2. $var2;$var3." echo "$var" | sed 's/[ :;]//g;$s/\.$//' ) foobarbaz foobarbaz foobarbaz foobarbaz foo. foobar. barbaz dies@ist: ~/ein/shellprompt $ Ist jew., wenn man's von '(' bis ')' kopiert, c&p faehig, der Rest ist die Ausgabe. ;) Beachte die unterschiedlichen Rollen von '$' im letzten 'sed'-Befehl. *glaskugel-wieder-wegpack* Oder was??? -dnh -- (Multiple bracketed paragraphs usually indicate a severe lack of focus.) -- Juliusz Chroboczek