Menu
CoddyTech

Wildcards kombinieren

Teil des Abschnitts Grundlagen der Terminal-Journey von Coddy. Lektion 28 von 82.

Die wahre Stärke von Platzhaltern zeigt sich, wenn du sie kombinierst. Du kannst *, ? und [] in einem einzigen Muster mischen, um Dateien sehr präzise zu finden.

Bei folgendem Dateisystem:

photo_1.jpg
photo_2.jpg
photo_10.jpg
photo_1.png
photo_2.png
report_1.txt
report_2.txt
notes.txt

Kombinieren von * und []:

Alle Bilddateien auflisten (sowohl .jpg als auch .png):

ls *.{jpg,png}    # verwendet Klammererweiterung
ls *.[jp]*        # findet .jpg, .png, .jpeg usw.

Kombination von ? und []:

Liste Foto-Dateien mit einer einzelnen Ziffer und einer beliebigen Dateiendung aus drei Buchstaben auf:

ls photo_[0-9].???   # findet photo_1.jpg, photo_2.jpg, photo_1.png und photo_2.png

Alle drei kombinieren:

Finde Dateien mit einer einzelnen Ziffer, deren Erweiterung mit t beginnt:

ls *_[0-9].t??     # passt auf report_1.txt und report_2.txt

Finde Dateien, die mit einem beliebigen Buchstaben beginnen, auf den bestimmte Zeichen folgen:

ls [pr]*_?.txt    # beginnt mit p oder r, dann beliebige Zeichen, dann ein Unterstrich, ein Zeichen, .txt

Platzhalter mit anderen Befehlen verwenden:

Verschiebe alle JPG-Fotos mit einer einstelligen Nummer in einen Ordner:

mv photo_[0-9].jpg archive/

Lösche die .log-Dateien in jedem Ordner eine Ebene tiefer (*/ reicht nicht bis in tiefer liegende Unterordner):

rm */*.log
challenge icon

Aufgabe

Einfach

Verwende eine Kombination aus Platzhaltern, um nur die .jpg-Fotodateien mit einer einstelligen Nummer aufzulisten, also photo_1.jpg und photo_2.jpg, aber nicht photo_10.jpg oder irgendwelche .png-Dateien.

Tipp: Kombiniere den festen Text photo_, einen Klammerbereich für einzelne Ziffern und die Erweiterung .jpg zu einem Muster.

Probier es selbst

Terminal
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Terminal-Playground