Menu
Coddy logo textTech

Combiner les jokers

Fait partie de la section Les fondamentaux du Journey Terminal de Coddy — leçon 28 sur 82.

La véritable puissance des caractères génériques apparaît lorsque vous les combinez ensemble. Vous pouvez mélanger *, ? et [] dans un seul motif pour créer une correspondance de fichiers très précise.

Étant donné ce système de fichiers :

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

Combinaison de * et [] :

Lister tous les fichiers image (à la fois .jpg et .png) :

ls *.{jpg,png}    # using brace expansion
ls *.[jp]*        # matches .jpg, .png, .jpeg etc.

Combinaison de ? et [] :

Lister uniquement les fichiers photo à un seul chiffre :

ls photo_[0-9].jpg   # matches photo_1.jpg and photo_2.jpg only

Combinaison des trois :

Correspond à n'importe quel fichier de rapport avec un seul chiffre :

ls *_[0-9].txt     # matches report_1.txt and report_2.txt

Correspond aux fichiers qui commencent par n'importe quelle lettre suivie de caractères spécifiques :

ls [pr]*_?.txt    # starts with p or r, then anything, then underscore, one char, .txt

Utilisation des wildcards avec d'autres commandes :

Déplacer toutes les photos jpg à un seul chiffre dans un dossier :

mv photo_[0-9].jpg archive/

Supprimez tous les fichiers .log de n'importe quel sous-dossier :

rm */*.log
challenge icon

Défi

Facile

Utilisez une combinaison de jokers pour lister uniquement les fichiers photo .jpg qui ont un chiffre unique — donc photo_1.jpg et photo_2.jpg mais pas photo_10.jpg ou tout fichier .png.

Indice : Combinez le texte fixe photo_, une plage entre crochets pour les chiffres uniques, et l’extension .jpg en un seul motif.

Aide-mémoire

Les caractères génériques peuvent être combinés ensemble pour créer des motifs de correspondance de fichiers précis en mélangeant *, ? et [].

Combinaison de * et [] :

ls *.{jpg,png}    # using brace expansion for multiple extensions
ls *.[jp]*        # matches .jpg, .png, .jpeg etc.

Combinaison de ? et [] :

ls photo_[0-9].jpg   # matches single-digit photo files only

Combinaison des trois caractères génériques :

ls *_[0-9].txt     # matches files ending with underscore, single digit, and .txt
ls [pr]*_?.txt     # starts with p or r, then anything, underscore, one char, .txt

Utilisation des caractères génériques avec d'autres commandes :

mv photo_[0-9].jpg archive/   # move single-digit jpg photos
rm */*.log                     # delete .log files from any subfolder

Essayez vous-même

Terminal
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Les fondamentaux