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 Prochaine révision Les deux révisions suivantes | ||
doc:programmation:shell:les-metacaracteres [18/05/2011 10:27] smolski |
doc:programmation:shell:les-metacaracteres [25/03/2015 13:25] milou [L'astérisque (*) :] |
||
---|---|---|---|
Ligne 10: | Ligne 10: | ||
L'astérisque signifie "n'importe quelle chaîne de n'importe quels caractères" | L'astérisque signifie "n'importe quelle chaîne de n'importe quels caractères" | ||
- | <code bash> | + | <code user> |
- | $ echo *</code> | + | echo *</code> |
affiche le nom de tous les fichiers du répertoire. | affiche le nom de tous les fichiers du répertoire. | ||
Ligne 19: | Ligne 19: | ||
---- | ---- | ||
\\ | \\ | ||
- | <code bash> | + | <code user> |
- | $ for f in *; do echo "$f"; done</code> | + | for f in *; do echo "$f"; done</code> |
Même chose, mais en faisant une boucle. Il sera affiché un fichier par ligne | Même chose, mais en faisant une boucle. Il sera affiché un fichier par ligne | ||
---- | ---- | ||
\\ | \\ | ||
- | <code bash> | + | <code user> |
- | $ mv /repertoire/*.pdf /autre/part</code> | + | mv /repertoire/*.pdf /autre/part</code> |
déplacer tout les fichiers pdf de "/repertoire" et les placer dans "/autre/part" | déplacer tout les fichiers pdf de "/repertoire" et les placer dans "/autre/part" | ||
Ligne 40: | Ligne 40: | ||
Imaginons que nous nous retrouvions avec les fichiers : | Imaginons que nous nous retrouvions avec les fichiers : | ||
- | <code bash> | + | <code user> |
- | $ ls | + | ls</code> |
- | toto titi tata test tintin milou | + | Affiche : |
- | $ | + | <code bash>toto titi tata test tintin milou |
</code> | </code> | ||
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 bash> | + | <code user>ls ????</code> |
- | $ ls ???? | + | Affiche : |
- | tata test titi toto | + | <code bash>tata test titi toto |
- | $ | + | |
</code> | </code> | ||
Ligne 58: | Ligne 58: | ||
Nous pouvons aisément faire, par exemple : | Nous pouvons aisément faire, par exemple : | ||
+ | <code user> | ||
+ | ls t?t?</code> | ||
+ | Affiche : | ||
<code bash> | <code bash> | ||
- | $ ls t?t? | ||
tata titi toto | tata titi toto | ||
- | $ | + | |
</code> | </code> | ||
Ligne 83: | Ligne 85: | ||
La liste des fichiers : | La liste des fichiers : | ||
- | <code bash>$ ls | + | <code user>ls</code> |
+ | Affiche : | ||
+ | <code bash> | ||
tata titi toto test tintin milou</code> | tata titi toto test tintin milou</code> | ||
La commande avec les crochets : | La commande avec les crochets : | ||
+ | <code user> | ||
+ | ls t[oi]t[oi]</code> | ||
+ | Affiche : | ||
<code bash> | <code bash> | ||
- | $ ls t[oi]t[oi] | ||
titi toto | titi toto | ||
- | $ | + | |
</code> | </code> | ||
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 : | ||
- | <code bash> | + | <code user> |
- | $ touch tito</code> | + | touch tito</code> |
Vous savez qui c'est Tito, n'est ce pas ? :-) | Vous savez qui c'est Tito, n'est ce pas ? :-) | ||
+ | <code user> | ||
+ | ls</code> | ||
+ | Affiche : | ||
<code bash> | <code bash> | ||
- | $ ls | ||
tata test titi tito toto tintin milou</code> | tata test titi tito toto tintin milou</code> | ||
+ | <code user> | ||
+ | ls t[oi]t[oi]</code> | ||
+ | Affiche : | ||
<code bash> | <code bash> | ||
- | $ ls t[oi]t[oi] | ||
titi tito toto | titi tito toto | ||
- | $ | ||
</code> | </code> | ||
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 bash> | + | <code user> |
- | $ ls [a-z][a-z]</code> | + | ls t[a-z]t[a-z]</code> |
+ | |||
+ | <code> | ||
+ | tata titi tito toto | ||
+ | </code> | ||
Ligne 119: | Ligne 132: | ||
Voilà, vous avez tout en main pour comprendre les **globs** basiques. | Voilà, vous avez tout en main pour comprendre les **globs** basiques. | ||
- | Pour plus d'informations, n'oubliez pas : | + | Pour plus d'informations, n'oubliez pas le manuel : |
- | man <votreshell> | + | <code user>man nom-du-programme</code> |
+ | |||
+ | exemple : | ||
+ | <code user>man mkdir</code> | ||
+ | Affiche : | ||
+ | <code bash>NAME | ||
+ | mkdir - make directories | ||
+ | |||
+ | SYNOPSIS | ||
+ | mkdir [OPTION]... DIRECTORY... | ||
+ | |||
+ | DESCRIPTION | ||
+ | Create the DIRECTORY(ies), if they do not already exist.</code> | ||
+ | |||
+ | ===Avoir le man en français=== | ||
+ | Non recommandé : | ||
+ | <code root>apt-get install manpages-fr</code> | ||
Plus tard nous verrons quelques concepts de **globs** plus avancés. | Plus tard nous verrons quelques concepts de **globs** plus avancés. | ||
Ligne 126: | Ligne 155: | ||
===== Liens ===== | ===== Liens ===== | ||
- | * [[commande:regexp | regexp ou Regular Expression ou Expression Régulière]] | + | * [[:doc:programmation:shell:regexp | regexp ou Regular Expression ou Expression Régulière]] |