Springe zum Hauptinhalt

Archiv
next up previous contents
Next: Shell-Scripts Up: Bourne-Shell als Kommando- und Previous: Pipelineverarbeitung

Filenamengenerierung

  • Verwendung von Metazeichen zur Bezeichnung einer Gruppe von
    Filenamen bei der Angabe von Filenamen-Argumenten

    (Begriffe: Filenamengenerierung, pattern matching, wild-cards (Joker))

  • Metazeichen und ihre Bedeutung
    * repräsentiert jede Zeichenkette einschließlich der leeren Zeichenkette
      (Zeichenkette mit der Länge 0)
    ? repräsentiert ein beliebiges Zeichen
    [ Beginn einer Zeichenklassenangabe
    ] Abschluß einer Zeichenklassenangabe
    - Zeigt eine lexikographisch geordnete Zeichenklasse an
  • Beispiele:


    im aktuellen Verzeichnis befinden sich die Files

    kap01.tex
    kap01.dvi
    kap02.tex
    kap02.dvi
    kap03.tex
    kap03.dvi
    kap04.tex
    kap04.dvi
    kap05.tex
    kap05.dvi
    prog.c
    prog.o
    prog1.c
    sort
    
    $ ls *                 -> alle Files
    
    $ ls kap*              -> kap01.tex, kap01.dvi, kap02.tex, kap02.dvi,
                              kap03.tex, kap03.dvi, kap04.tex, kap04.dvi,
                              kap05.tex, kap05.dvi
    
    $ ls *.c               -> prog.c, prog1.c
    
    $ ls kap*.tex          -> kap01.tex, kap02.tex, kap03.tex, kap04.tex, kap05.tex
    
    $ ls kap04.tex*        -> kap04.tex
    
    $ ls kap04.tex?        -> nichts
    
    $ ls ?????????         -> kap01.tex, kap01.dvi, kap02.tex, kap02.dvi,
                              kap03.tex, kap03.dvi, kap04.tex, kap04.dvi,
                              kap05.tex, kap05.dvi
    
    $ ls kap0[123]*        -> kap01.tex, kap01.dvi, kap02.tex, kap02.dvi,
                              kap03.tex, kap03.dvi
    
    $ ls kap0[1-3]*        -> kap01.tex, kap01.dvi, kap02.tex, kap02.dvi,
                              kap03.tex, kap03.dvi
    
    $ ls kap0[1-9].dvi     -> kap01.dvi, kap02.dvi, kap03.dvi, kap04.dvi, kap05.dvi
    
    $ ls kap0[1-12].tex    -> kap01.tex, kap02.tex
    
    $ ls *.[a-d]*          -> kap01.dvi, kap02.dvi, kap03.dvi, kap04.dvi,
                              kap05.dvi, prog.c, prog1.c
    
  • Bemerkungen:
    • trifft natürlich für alle Kommandos zu
    • Beispiel: cc *.c
    • Problem: Anzahl der Kapitel übersteigt 9, z.B. 12
      kap0[6-9].tex kap1[0-2].tex  $\Rightarrow$ kap06.tex bis kap12.tex
    • Problem: Metazeichen sind selbst im Filenamen enthalten $\Rightarrow$ ,,Flüchten`` der Sonderbedeutung mittels $\backslash$
    • Beispiel: Filter, die auf * enden, können durch das Muster *$\backslash$* ,,adressiert`` werden
    • Testen der Effekte der Filenamengenerierung durch das Kommando echo:
    • Beispiel:
      $ echo rm kap0[1-3].dvi
         rm kap01.dvi kap02.dvi kap03.dvi
      

  • Porträt eines Mannes

    Studieren trotz Vollzeitjob

    Max Chris Schreiber hat nach seinem VWA-Abschluss erfolgreich ein berufsbegleitendes Bachelorstudium „Public Sector Management“ an der TU Chemnitz gemeistert und damit seinen Blick auf den öffentlichen Sektor erweitert …

  • Eine blonde Frau hält zwei beschriftete Aufkleber hoch.

    TU Chemnitz feiert erneut Vielfalt beim Christopher Street Day

    Let’s celebrate #TUCgether: TU Chemnitz nimmt am 4. Juli 2026 mit einem Wagen am Christopher Street Day in Chemnitz teil und zeigt die Vielfalt der TUC-Familie – Alle sind herzlich eingeladen, sich zu beteiligen …

  • Eine Schülerin im weißen Kittel experimentiert mit einem Reagenzglas im Labor.

    Junge Chemietalente auf der Suche nach der Substanz X

    55. Ausgabe des Chemie-Wettbewerbs „Julius Adolph Stöckhardt“ fand an der TU Chemnitz statt – Toni Radecker vom Clemens-Winkler-Gymnasium Aue belegte Platz 1 und verteidigte damit seinen Titel aus dem Vorjahr …

  • Ein Mann steht vor einem Gebäude.

    „Die Sprachbarriere verschwindet schneller, als man denkt“

    Piotr Marsza?ek aus Katowice hat über die „Betreuungsinitiative Deutsche Auslands- und Partnerschulen“ des Deutschen Akademischen Austauschdienstes den Weg an die TU Chemnitz gefunden …