Attention, certaines de ces expressions ne fonctionnent pas toutes avec les mêmes shell.
Pour certaines, elles sont compatibles BASH, pour d'autres ZSH et certaines ne fonctionnent qu'avec KSH.
Le caractère "*" permet de remplacer n'importe quel caractère.
$ ls
fichier1 fichier2.a monfichier tOnfichier.b
- Afficher uniquement les fichiers se terminant par ".a" :
$ ls *.a
fichier2.a
- Afficher uniquement les fichiers commançant par "f" :
$ ls f*
fichier1 fichier2.a
Le caractère "?" représente un caractère quelconque.
- Afficher uniquement les fichiers ayant une extension composée d'un seul caractère :
$ ls *.?
fichier2.a tOnfichier.b
- Afficher uniquement les fichiers composés de 8 caractères :
$ ls ????????
fichier1
Les caractères "[ ]" permettent d'indiquer la liste des caractères que l'on recherche à une position bien précise dans le noms des fichiers.
-
Afficher les fichiers commençant par la lettre "f" ou "t" et se terminant
par le "." suivi d'une lettre minuscule :
$ ls [ft]*.[a-z]
fichier2.a tOnfichier.b
-
Afficher tous les fichiers ayant en deuxième caractère une lettre majuscule, ou un chiffre,
ou la lettre "e" :
% ls ?[A-Z0-9e]*
cOucou f1chier F2chier Hello
- Afficher tous les fichiers ne commançant pas par une lettre minuscule :
$ ls [!a-z]*
1coucou Coucou F2chier Fichier Hello
- Supprimer tous les fichiers se terminant par .b ou .c :
% rm -i *.b *.c
rm : supprimer fichier vide «fichier1.b» ? y
rm : supprimer fichier vide «fichier1.c» ? y