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.txtCombinaison 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 onlyCombinaison des trois :
Correspond à n'importe quel fichier de rapport avec un seul chiffre :
ls *_[0-9].txt # matches report_1.txt and report_2.txtCorrespond 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, .txtUtilisation 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 */*.logDéfi
FacileUtilisez 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.jpgen 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 onlyCombinaison 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, .txtUtilisation 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 subfolderEssayez vous-même
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
4Répertoires
Créer Un RépertoireCopier Un RépertoireDéplacer Et Renommer Un RépertoireSupprimer Un RépertoireRécapitulatif - Opérations Sur Les Répertoires7Contenu de fichier
Head et TailComptage de motsCommande SortCommande UniqBases de GrepGrep avec optionsRécap - Détective de texte10Projet Analyseur de Journaux
Aperçu du ProjetAffichage du Fichier Journal2Navigation
Afficher le répertoire de travailLister les fichiersChanger de répertoireChemins absolus vs relatifsRépertoire personnel et racineRécap - Trouver son chemin5Projet Organiser les Photos
Aperçu du ProjetCréation de la Structure8Redirection
Sortie standardÉcraser vers un fichierAjouter à un fichierEntrée standardErreur standardRécapitulatif - Constructeur de logs11Permissions
Comprendre les permissionsLire les permissionsChmod avec des nombresChmod avec des symbolesPropriété des fichiersRécapitulatif - Verrouillez tout14Projet de Script de Sauvegarde
Aperçu du ProjetObtenir le Chemin Source3Fichiers
Créer Un FichierLire Un FichierCopier Un FichierDéplacer Et Renommer Un FichierSupprimer Un FichierRécapitulatif - Opérations Sur Les Fichiers6Caractères jokers et motifs
Le joker étoileLe joker point d'interrogationJokers entre crochetsCombiner les jokersRécapitulatif - Opérations sélectives9Les pipes
Qu'est-ce qu'une pipe ?Chaîner deux commandesChaîner plusieurs commandesPipe avec GrepRécapitulatif - Pipeline de données