First page Back Continue Last page Overview Text

Notes:


Das Problem, die Dateiendungen von mehreren Dateien gleichzeitig zu ändern, also zum Beispiel von .JPG nach .jpg, kann mit “mv” nicht alleine gelöst werden.

Ein Lösungsansatz besteht darin, zunächst die alte Dateinamen-Erweiterung mit Hilfe von basename abzuschneiden, dann einen Dateinamen mit der neuen Endung zu erzeugen und dann sowohl den alten als auch den neuen Namen an mv weiterzureichen.

Das Entfernen der Dateiendung mit basename kennen wir schon. Allerdings gibt basename den abgeschnittenen Namen einfach aus, wo wir ihn nicht weiterverarbeiten können.

Glücklicherweise enthält die Kommandozeile eine Möglichkeit, um die Ausgabe eines Programmes in eine Variable umzuleiten, die dann innerhalb der Kommandozeile weiterverarbeitet werden kann.

Um dies zu erreichen, schließt man den Programmauf, dessen Ausgabe man haben will, in ein Dollarzeichen und runde Klammern ein. Alternative kann der Programmaufruf auch in das “linke” Hochkomma eingeschlossen werden, das sich auf englischen Tastaturen oben links befindet und nicht mit dem normalen Apostroph-Hochkomma zu verwechseln ist. Den gesamten Klammer- oder Hochkomma-Ausdruck weist man dann einer Variablen zu:

> bn=$(basename bild.JPG .JPG)

> bn=`basename bild.JPG .JPG`

Mit Hilfe von echo kann man sich überzeugen, dass die Variable bn wirklich den abgeschnittenen Dateinamen enthält:

> echo $bn

Übungsaufgabe 5.22.1

Probiert die obigen Beispiele aus.

Übungsaufgabe 5.22.2

Mit Hilfe des Aufrufes ” id -n -u” bekommt ihr euren Benutzernamen. Weist die Ausgabe von “id -n -u” der Variable “ich” zu und überprüft euren Erfolg mit echo.