Les caractères génériques constituent
un moyen commode de désigner plusieurs noms de fichiers
ou de répertoires par un seul nom. Les deux caractères
génériques les plus utiles sont * et ?. Le * peut remplacer n’importe quelle séquence
(chaîne) de caractères (incluant l’absence
de caractères), tandis que le ? peut remplacer tout caractère unique.
Le
caractère générique * |
 |
Le caractère * remplace tous les caractères (et même
l’absence de caractère). Supposons que vous ayez
créé les fichiers suivants dans votre répertoire
de travail courant :
$ lsf monfich monfich2 monfich3 xenic tonfich |
Pour lister seulement les noms de fichiers commençant
par monfich, entrez :
$ lsf monfich* monfich monfich2 monfich3 |
Pour lister seulement les noms de fichiers contenant fich, entrez :
$ lsf *fich* monfich monfich2 monfich3 tonfich |
Le
caractère générique ? |
 |
Le caractère ? signifie tout caractère unique. Vous
ne l’utiliserez probablement pas aussi souvent que *, mais il est tout de même utile. Si, par
exemple, vous voulez lister seulement les fichiers commençant
par monfich et ne comportant qu’un seul caractère
additionnel, entrez :
$ lsf monfich? monfich2 monfich3 |
Le caractère générique ? correspond exactement à un
caractère. Ainsi, vous ne verrez pas monfich dans le listage parce qu’il manque un caractère à la
fin.
Utilisation
du caractère générique * avec mv, cp
et rm |
 |
Les caractères génériques sont
souvent utiles lorsque vous voulez déplacer ou copier plusieurs
fichiers d’un répertoire à un autre. Supposons,
par exemple, que vous ayez deux répertoires immédiatement en
dessous de votre répertoire courant, appelés ancien et nouveau, et que ces répertoires contiennent les
fichiers suivants :
$ lsf nouveau monfich monfich2 $ lsf ancien monfich3 monfich4 |
Pour déplacer tous les fichiers du répertoire nouveau dans le répertoire ancien, entrez :
$ mv nouveau/* ancien $ lsf nouveau Les fichiers ne sont plus dans nouveau. $ lsf ancien monfich monfich2 monfich3 monfich4 Ils sont dans le répertoire ancien. |
Vous pouvez faire des opérations similaires avec
la commande cp. Par exemple, pour copier tous les fichiers du
répertoire ancien dans le répertoire nouveau, entrez :
De la même manière, vous pouvez utiliser
les caractères génériques avec la commande rm. Par exemple, pour supprimer tous les fichiers
du répertoire nouveau, tapez :
Pour
de plus amples informations
Voir la page de manuel regexp(5) pour
une description générale des éléments * et ?. Concernant les fonctions supplémentaires
de shell : si vous utilisez le Shell POSIX, voir la page de manuel sh-posix(1)
; si vous utilisez le shell C, voir la page de manuel csh(1).