Dans les systèmes de type Unix, les caractères génériques (également appelés caractères globaux) sont des caractères spéciaux qui correspondent à plusieurs noms de fichiers ou chaînes. Les plus courants sont :
* `*` (astérisque) : Correspond à zéro ou plusieurs caractères. Par exemple:
* `*.txt` correspond à tous les fichiers se terminant par `.txt`.
* `*` correspond à tous les fichiers et répertoires du répertoire actuel.
* `my*file*` correspond à `myfile`, `mylongfilename`, `my_file_1`, etc.
* `?` (point d'interrogation) : Correspond exactement à un caractère. Par exemple:
* `?.txt` correspond aux fichiers avec un seul caractère avant `.txt` (par exemple, `a.txt`, `1.txt`).
* `my??.txt` correspond aux fichiers nommés `myAB.txt`, `my12.txt`, etc. (exactement deux caractères entre `my` et `.txt`).
* `[]` (crochets) : Correspond à un caractère dans l'ensemble spécifié. Par exemple:
* `[abc].txt` correspond à `a.txt`, `b.txt` ou `c.txt`.
* `[0-9].txt` correspond à n'importe quel fichier avec un seul chiffre suivi de `.txt`.
* `[a-zA-Z]*.txt` correspond à tout fichier commençant par une lettre (majuscule ou minuscule) suivie de zéro ou plusieurs caractères et se terminant par `.txt`.
* `[!abc].txt` correspond à tout fichier NE commençant PAS par « a », « b » ou « c », suivi de « .txt ». Le `!` annule l'ensemble.
Ces caractères génériques sont principalement utilisés dans les interfaces de ligne de commande (comme bash, zsh, etc.) lorsque vous travaillez avec des fichiers et des répertoires. Ce ne sont *pas* des expressions régulières ; il s'agit d'un mécanisme de correspondance de modèles plus simple et plus limité. Bien que puissantes pour la correspondance de noms de fichiers de base, les expressions régulières offrent une bien plus grande flexibilité pour la correspondance de modèles complexes.
|