Filtres sur les fichiers (globbing)

Les filtres sur les fichiers (globbing) permettent de les sélectionner de manière intelligente. En voici les principes.

1. Méta-caractères

  • Les méta caractères ont un sens spécial pour le shell. Ils sont la plupart du temps utilisés comme jokers, pour correspondre à plusieurs noms de fichiers ou de dossiers en utilisant un minimum de lettres.
  • Les caractères d’entrée (<), de sortie (>) et le tube (|) sont également des caractères spéciaux ainsi que le dollar ($) utilisé pour les variables. Notez que ces caractères sont rarement utilisés pour nommer des fichiers standards.

2. Caractères génériques ou jokers

2.1. Masque générique *

Le caractère * remplace n’importe quel nombre de caractères :

ls  /usr/bin/b*

Liste tous les programmes commençant par “b”.

2.2. Masque de caractère ?

Le caractère ? remplace n’importe quel caractère unique :

ls  /usr/bin/?b*

Liste tous les programmes ayant un “b” pour seconde lettre.

2.3. Plage de valeurs [ ]

[ ] est utilisé pour définir une plage de valeurs :

ls /usr/bin/linux[0-9][0-9]

liste tous les fichiers commençant par “linux” suivis de deux chiffres.

ls /usr/bin/[!Aa-Yy]*

liste tous les fichiers qui ne commencent pas par un “a” ni par un “A” jusqu’à “y”/”Y”.

2.4. Filtre {chaîne1,chaîne2}

{chaîne1,chaîne2} même si ce n’est pas simplement un joker de nom de fichiers, on peut l’utiliser pour filtrer des noms de fichiers :

ls  index.{htm,html}