So werden Kleinbuchstaben in Großbuchstaben gewandelt:
VAR=öäüß echo $VAR VAR=`echo $VAR|tr "[:lower:]" "[:upper:]"` echo $VAR
Durch die Verwendung von [:lower:] und [:upper:] werden auch Umlaute berücksichtigt, was bei [a-z] bzw. [A-Z] nicht der Fall wäre.
Die umgekehrte Richtung funktioniert logischer Weise so:
VAR=GROSSÄÜÖ echo $VAR VAR=`echo $VAR|tr "[:upper:]" "[:lower:]"` echo $VAR
Ist aber, wenn ich nur einen oder mehrere Anfangsbuchstaben umwandeln will, zu umständlich.Gibt es da kein Script für einen Shortcut?
Der Artikel ist ja schon steinalt 😉
Die aktuelle Bash hat Funktionen dafür:
$ foo=bar
$ echo ${foo^}
Bar
$ echo ${foo^^}
BAR
Unterstützt die Shell das nicht, kann man sed oder Perl zu Hilfe nehmen:
$ echo $foo | sed 's/./u&/'
Bar
$ echo $foo | perl -ne 'print ucfirst($_)'
Bar