Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
doc:programmation:shell:les-metacaracteres [14/04/2015 19:21] milou [Les métacaractères, ou globs, ou encore patterns] |
doc:programmation:shell:les-metacaracteres [03/03/2017 15:26] (Version actuelle) debianux [Présentation] |
||
---|---|---|---|
Ligne 16: | Ligne 16: | ||
Les shells de type bourne (comme **Bash**, **Zsh**, **Ksh**, **Dash**...) supportent une syntaxe | Les shells de type bourne (comme **Bash**, **Zsh**, **Ksh**, **Dash**...) supportent une syntaxe | ||
très puissante : les **globs** encore appelés **patterns** | très puissante : les **globs** encore appelés **patterns** | ||
+ | |||
+ | //(glob: "global command")//((https://en.wikipedia.org/wiki/Glob_%28programming%29)) | ||
Les globs les plus basiques sont : | Les globs les plus basiques sont : | ||
Ligne 53: | Ligne 55: | ||
ls</code> | ls</code> | ||
Affiche : | Affiche : | ||
- | <code bash>toto titi tata test tintin milou | + | <file config retour de la commande>toto titi tata test tintin milou |
- | </code> | + | </file> |
Nous voulons n'afficher que les fichiers dont les noms font quatre lettres de longueur : | Nous voulons n'afficher que les fichiers dont les noms font quatre lettres de longueur : | ||
<code user>ls ????</code> | <code user>ls ????</code> | ||
Affiche : | Affiche : | ||
- | <code bash>tata test titi toto | + | <file config retour de la commande>tata test titi toto |
- | </code> | + | </file> |
---- | ---- | ||
Ligne 71: | Ligne 73: | ||
ls t?t?</code> | ls t?t?</code> | ||
Affiche : | Affiche : | ||
- | <code bash> | + | <file config retour de la commande> |
tata titi toto | tata titi toto | ||
- | </code> | + | </file> |
Simple, non ? :-) | Simple, non ? :-) | ||
Ligne 85: | Ligne 87: | ||
La liste ''[abcde]'' peut correspondre à n'importe quel lettre entre crochets : **a** ou **b** ou **c** ou **d** ou **e**. \\ | La liste ''[abcde]'' peut correspondre à n'importe quel lettre entre crochets : **a** ou **b** ou **c** ou **d** ou **e**. \\ | ||
+ | |||
Donc, ''[hv]elo'' peut correspondre à la chaîne de caractères ''helo'' tout comme à ''velo''. | Donc, ''[hv]elo'' peut correspondre à la chaîne de caractères ''helo'' tout comme à ''velo''. | ||
Ligne 91: | Ligne 94: | ||
Poursuivons avec nos fichiers. | Poursuivons avec nos fichiers. | ||
- | Nous aimerions quelque chose d'encore plus précis qu'avec ''t?t?''. \\ | + | Nous aimerions quelque chose d'encore plus précis qu'avec ''t?t?''. \\ |
+ | |||
Pour n'afficher que ''toto'' et ''titi'' nous allons utiliser les crochets. | Pour n'afficher que ''toto'' et ''titi'' nous allons utiliser les crochets. | ||
Ligne 97: | Ligne 101: | ||
<code user>ls</code> | <code user>ls</code> | ||
Affiche : | Affiche : | ||
- | <code bash> | + | <file config retour de la commande> |
- | tata titi toto test tintin milou</code> | + | tata titi toto test tintin milou</file> |
La commande avec les crochets : | La commande avec les crochets : | ||
Ligne 104: | Ligne 108: | ||
ls t[oi]t[oi]</code> | ls t[oi]t[oi]</code> | ||
Affiche : | Affiche : | ||
- | <code bash> | + | <file config retour de la commande> |
titi toto | titi toto | ||
- | </code> | + | </file> |
Génial ! Mais, voyons ce qu'il se passe lorsqu'un fichier au nom inattendu montre le bout de son nez : | Génial ! Mais, voyons ce qu'il se passe lorsqu'un fichier au nom inattendu montre le bout de son nez : | ||
Ligne 118: | Ligne 122: | ||
ls</code> | ls</code> | ||
Affiche : | Affiche : | ||
- | <code bash> | + | <file config retour de la commande> |
- | tata test titi tito toto tintin milou</code> | + | tata test titi tito toto tintin milou</file> |
<code user> | <code user> | ||
ls t[oi]t[oi]</code> | ls t[oi]t[oi]</code> | ||
Affiche : | Affiche : | ||
- | <code bash> | + | <file config retour de la commande> |
titi tito toto | titi tito toto | ||
- | </code> | + | </file> |
C'est déjà intéressant, mais il y a mieux : \\ | C'est déjà intéressant, mais il y a mieux : \\ | ||
+ | |||
la possibilité d'utiliser des ''groupes'' de lettres dans les expressions entre crochets : | la possibilité d'utiliser des ''groupes'' de lettres dans les expressions entre crochets : | ||
<code user> | <code user> | ||
ls t[a-z]t[a-z]</code> | ls t[a-z]t[a-z]</code> | ||
- | + | <file config retour de la commande> | |
- | <code> | + | |
tata titi tito toto | tata titi tito toto | ||
- | </code> | + | </file> |
Ligne 148: | Ligne 152: | ||
<code user>man mkdir</code> | <code user>man mkdir</code> | ||
Affiche : | Affiche : | ||
- | <code bash>NAME | + | <file config retour de la commande>NAME |
mkdir - make directories | mkdir - make directories | ||
Ligne 155: | Ligne 159: | ||
DESCRIPTION | DESCRIPTION | ||
- | Create the DIRECTORY(ies), if they do not already exist.</code> | + | Create the DIRECTORY(ies), if they do not already exist.</file> |
===Avoir le man en français=== | ===Avoir le man en français=== |