Doppelte Substitution

02/12/2009 - 11:18 von Ferry Bolhar | Report spam
Hallo,

ich habe einen String, von dem ich den Anfang und das Ende entfernen
möchte, zB.

x=1_XXX.baroc

Es soll nun die "1_" und das ".baroc" verschwinden, d.h. es soll "XXX"
überbleiben.

Geht ja mit

j=${x%.*}
c=${j#*_}

soweit ganz gut. Ich würde das nun aber gerne in einer Anweisung
zusammenfassen und die Zwischenvariable j einsparen. Ist das möglich?
Ein

c=${${x%.*}#_} bzw.

c=${{x%.*}#_}

liefert nur "bad substitution"

Weiß jemand, ob man solche Substitutionen irgendwie verschachteln kann?

LG, Ferry

Ing. Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: ferdinand.bolhar-nordenkampf@wien.gv.at
 

Lesen sie die antworten

#1 Frank Terbeck
02/12/2009 - 14:33 | Warnen spam
Ferry Bolhar wrote:
[...]
Geht ja mit

j=${x%.*}
c=${j#*_}

soweit ganz gut. Ich würde das nun aber gerne in einer Anweisung
zusammenfassen und die Zwischenvariable j einsparen. Ist das möglich?
Ein

c=${${x%.*}#_} bzw.

c=${{x%.*}#_}

liefert nur "bad substitution"

Weiß jemand, ob man solche Substitutionen irgendwie verschachteln kann?



Das kommt darauf an welche Shell du verwendest. In der zsh
funktionieren Expansionen, wie in deinem ersten Vorschlag. In den
meisten anderen Shells geht das jedoch nicht. Teil von POSIX sind
solche Dinge auch nicht.

Gruß Frank

There are no threads in alt.binaries.pictures.erotica,
so there's no gain in using a threaded news reader.

Ähnliche fragen