Groß- / Kleinbuchstaben wandeln

Vielleicht geht es euch ja auch so und ihr wollt auf der Kommandoebene, der Shell, Zeichen im Dateinamen wandeln. So sollen zum Beispiel Groß- und Kleinbuchstaben oder umgekehrt gewandelt werden, damit es einheitlich ist. Außerdem unterscheidet Linux ja zwischen den verschiedene Schreibweisen. Wenn möglich, dann bitte mehrere Dateien gleich auf einen Rutsch. Eine mögliche Lösung bietet der Befehl tr an (die genaue Beschreibung des Befehls findet ihr hier).

Vor einiger Zeit wurde ein Script geschrieben, welches genau diese Anforderungen erfüllt. Das fertige Shellscript sieht dann so aus und konvertiert Großbuchstaben in Kleinbuchstaben. Dieses Script könnte man unter dem Namen lowercase speichern.

#!/bin/bash
# get filename
echo -n "Enter File Name : "
read fileName
 
# make sure file exits for reading
if [ ! -f $fileName ]; then
echo "Filename $fileName does not exists"
exit 1
fi
 
# convert uppercase to lowercase using tr command
tr '[A-Z]' '[a-z]' < $fileName

Sollte es erforderlich sein, alles in Großbuchstaben zu wandeln, muss nur die letzte Zeile im Script verändert werden. Die Sektion ‚[A-Z]‘ ‚[a-z]‘ muss dazu nur vertauscht werden und durch ‚[a-z]‘ ‚[A-Z]‘ ersetzt werden. Das fertige Script kann man dann unter dem Namen uppercase abspeichern.