UnixTools01 06
Wildcards
Bevor wir uns mit Wildcards beschäftigen, lernen wir zunächst das Kommmando echo kennen. Das Kommando echo sieht sich alle Argumente an, ud gibt sie wieder aus, alle in einer Zeile.
Hier wird das Kommando echo mit genau einem Argument aufgerufen
$ echo Eins Eins
Hier wird das Kommando echo mit 3 Argumenten aufgerufen
$ echo Eins Zwei Drei Eins Zwei Drei
Wie wir sehen, gibt echo alle Argumente aus. Das wird nützlich, weil wir als nächstes Wildcards benutzen werden, die die Shell (als Service für uns) in ein oder mehrere Argumente verwandelt, bevor sie das Kommando abarbeitet. Wollen wir sehen, durch was ie Shell unsere Wildcards ersetzt hat, knnen wir dafür das Kommando echo benutzen
Beispiel
$ ls -l foo.txt bar.txt file.jpg picture.jpg
$ echo *.txt foo.txt bar.txt
Das Programm echo bekommt die Wildcard *.txt nie zu sehen. Stattdessen ersetzt es die Shell durch (in diesem Fall 2) Dateinamen, die auf dieses Muster passen. Würde nur ein Dateiname auf das Muster passern, würde die Shell die Wildcard nur durch ein Argument ersetzen. Würden 1000 Dateinamen auf das Muster ersetzen, würde die Shell die Wildcard durch diese 1000 Argumente ersetzen. Für das Programm sieht es so aus, als ob wir die (in diesem Falll 1000) Atrgumente selbst in die Kommandozeile eingetragen hätten.