Ich versuche, eine Zeichenfolge in der Shell zu manipulieren, indem ich eine Teilzeichenfolge durch Trennzeichen getrennt lösche. Zur Zeit habe ich einige unerwünschte Verhalten aus dem Wildcard-Zeichen wie folgt:Shellstring-Manipulation, Wildcard-Gültigkeitsbereich
string='start.badstuff.goodstuff.end'
echo ${string/bad*.} #start.end
Im obigen Beispiel sagen weiß, dass ich die Teil Ich suche beginnt mit 'bad'
durch zufällige 'stuff.'
zu entfernen, gefolgt von denen alle ich entfernen möchten. Ich möchte die Zeichenfolge 'goodstuff'
behalten, aber in diesem Beispiel nimmt der Platzhalter den breitesten Bereich anstelle der schmalsten (unter *='stuff.goodstuff'
anstelle des gewünschten Verhaltens *='stuff'
).
Gibt es eine Möglichkeit, den Umfang der Platzhalter auf den ersten '.'
nach 'badstuff'
zu stoppen, ohne zu wissen, was 'goodstuff'
sein könnte?