Sommaire

Substitution de noms de fichiers

De nombreuses commandes prennent des noms de fichier en argument. Ces derniers peuvent être cités littéralement ou être spécifiés de manière plus générique. Le shell propose un certain nombre de caractères spéciaux qui permettent de fabriquer des expressions utilisées comme Modèles de noms de fichier.

1. Expressions basiques

a. Le caractère *

Il représente une suite de caractères quelconques.

Exemples

$ ls 
f12 f1.i FICa fic.c fic.s monscript.pl MONSCRIPT.pl ours.c

Afficher tous les noms de fichier se terminant par .c :

$ ls *.c 
fic.c ours.c

Afficher tous les noms de fichier commençant par la lettre f :

$ ls f* 
f12 f1.i fic.c fic.s

b. Le caractère ?

Il représente un caractère quelconque.

Exemples

Afficher tous les noms de fichier ayant une extension composée d’un caractère :

$ ls *.? 
f1.i fic.c fic.s ours.c

Afficher tous les noms de fichier composés de quatre caractères :

$ ls ???? 
f1.i FICa

c. Les caractères [ ]

Les crochets permettent de spécifier la liste des caractères que l’on attend à une position bien précise dans le nom du fichier. Il est également possible d’utiliser les notions d’intervalle et de négation.

Exemples

Fichiers dont le nom commence par f ou o et se termine par le caractère . suivi d’une minuscule :

$ ls  [fo]*.[a-z] 
f1.i fic.c fic.s ...