Expression
Metazeichen
Auch Wildcards genannt sind: * ? ^ [ ! [ \Metazeichen werden von der Shell expandiert und das Resultat wird als Parameter an das aufgerufene Programm übergeben.Wichtig: Die Dateinamen-Expansion erfolgt vor dem Aufruf des Programmes!
- * eine beliebige Zeichenkette
- ? steht für ein beliebiges Einzelzeichen
Dateinamen-Expansion
Sie werden von der Shell und auch von verschiedenen Programmen interpretiert. I.d.R. werden sie fast gleich behandelt.
ls -l *.txt Die Shell erzeugt eine Liste aller Dateinamen im
Verzeichnis, die mit .txt enden Diese Liste wird als
Parameterliste an da Kommando ls übergeben
ls tag_?.txt nach tag_ darf nur ein einzelnes Zeichen vor dem
nachfolgenden . stehen. Nur diese Dateinamen werden aufgelistet
\ Das nachfolgende Metazeichen soll als normales Zeichen behandelt werden (hier der \ )
Pattern werden mit dem speziellen Zeichen * ? [ ] - ! und normalen Zeichen gebildet. Das/die Patternzeichen können irgendwo im Wort erscheinen. Sie können auch mehrfach in einem Wort auftreten. ksh Pattern sind teilweise unterschiedlich zu regular expression wie sie in z.B ed, grep erscheinen. Pattern werden verwendet:
- in Pfadnamen
- case pattern
- pattern matching in Vergleichen [[ ]]
- in Substrings