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 Les deux révisions suivantes | ||
doc:programmation:shells:bash-vii-globs-etendus-regex [09/07/2014 10:56] Hypathie [Correspondance de motifs avec les expressions rationnelles] |
doc:programmation:shells:bash-vii-globs-etendus-regex [09/07/2014 11:26] Hypathie [Correspondance de motifs avec les globs étendus] |
||
---|---|---|---|
Ligne 63: | Ligne 63: | ||
Notons l'option shopt -s nocasematch (bash version 3.1) permet de retirer la sensibilité à la case. | Notons l'option shopt -s nocasematch (bash version 3.1) permet de retirer la sensibilité à la case. | ||
- | ====Les globs étendus dans le terminal==== | + | ====Les globs étendus dans le terminal==== |
- | Par exemple, prenons un fichier de type répertoire nommé "Test" contenant les fichiers : image.bmp image.jpg nom.txt | + | |
+ | ===Préparation=== | ||
+ | <code user> | ||
+ | mkdir Test && cd Test && touch image.bmp image.jpg nom.txt && cd .. | ||
+ | </code> | ||
+ | >Création d'un fichier de type répertoire nommé "Test", contenant les fichiers : image.bmp image.jpg nom.txt | ||
+ | |||
+ | ===Exercice=== | ||
<code user> | <code user> | ||
shopt -s extglob | shopt -s extglob | ||
</code> | </code> | ||
- | Valider ensuite toujours dans le même terminal : | + | |
+ | >Pour les commandes qui suivent, il faut valider toujours dans le même terminal. | ||
<code user> | <code user> | ||
ls ~/Test/!(*jpg|*bmp) | ls ~/Test/!(*jpg|*bmp) | ||
</code> | </code> | ||
+ | |||
+ | >Cela signifie : liste-moi le ou les fichiers dont le nom ne comporte pas (''!'') | ||
+ | >soit "zéro ou plein de caractères" (''*'') puis ''jpg'' | ||
+ | >soit "zéro ou plein de caractères" (''*'') puis ''bmp'' | ||
+ | |||
<code> | <code> | ||
/home/hypathie/Test/nom.txt | /home/hypathie/Test/nom.txt | ||
</code> | </code> | ||
- | Ou encore avec le même exemple : | + | >C'est le chemin absolu (nom complet) du (ou des) autre(s) fichiers que ceux finissant par ''jpg'' ou ''bmp''. |
+ | |||
+ | * à propos de cet exemple : | ||
<code user> | <code user> | ||
cd ~/Test/ | cd ~/Test/ | ||
</code> | </code> | ||
- | PUIS : | + | |
<code user> | <code user> | ||
- | ls | + | ls !(*jpg|*bmp) |
- | </code> | + | |
- | Retour : | + | |
- | <code> | + | |
- | image.bmp image.jpg nom.txt | + | |
- | </code> | + | |
- | PUIS : | + | |
- | <code user> | + | |
- | echo !(*jpg|*bmp) | + | |
</code> | </code> | ||
+ | |||
<code> | <code> | ||
nom.txt | nom.txt | ||
</code> | </code> | ||
+ | |||
+ | >C'est le nom simplifié | ||
==== Les globs étendus dans les scripts==== | ==== Les globs étendus dans les scripts==== |