Die Bash kann einiges mit Variablen anstellen, was man in vielen Scripten relativ kompliziert gelöst sieht.
Ein Beispiel, das in vielen Scripten vorkommt: Eine Ausgabedatei soll genau so heißen wie die Eingabedatei, aber eine andere Erweiterung haben.
A="test.txt" B="${A%%.txt}.csv"
Was steht jetzt in Variable B?
echo $B test.csv
Wie funktioniert das?
Mit dem ‘%’-Operator kann man von einer Variable Zeichen vom Ende her löschen.
Mit ‘%%’ werden auch mehrere Vorkommen der Variable vom Ende her gelöscht.
Vom Anfang her löschen geht mit ‘#’
Ersetzen ähnlich wie mit sed geht über den ‘/’-Operator, ‘^’ und ‘,’ machen Groß- bzw. Kleinbuchstaben.
Schöne Beispiele dazu finden sich im Web z.B. beim Linuxmagazin.
Näheres dazu ist unter dem Suchbegriff “Parameter Expansion” zu finden. Auch in der Manpage von bash.
Schreibe einen Kommentar