| Chapitre 5 : Le Shell |
Il existe des caractères spéciaux (métacaractères), interprétés par le shell, qui permettent de spécifier un ensemble de fichiers ou de répertoires dont les noms contiennent des caractères identiques. Les métacaractères sont :
Attention aux caractères spéciaux, si vous souhaitez qu'ils ne soient pas interprétés comme le $ () [] " (double quote) # (dièse) ' (quote) ` (back quote) \ (back slash): utilisez le \ (back slash) juste avant.
Exemple : echo il ne faut pas confondre / et \> en Unix.
Trois quotes à ne pas confondre :
Métacaractères utilisés par le shell
ls *.c => listera les fichiers ayant comme suffixe un c
cat t?t? => affichera le contenu de toto, titi, tata et t1t2
ls -l bigprog.? => affichera une liste de tous les fichiers qui commencent avec
« bigprog. » suivi par un caractère.
cat t[ia]t[ia] => affichera le contenu de titi et tata, mais pas toto ni t1t2
cat [0-9]*[!0-9] => affichera le contenu de tous les fichiers ayant un chiffre au début mais sans chiffre à la fin (dû au !).
ls -l *.[a-d] => affichera une liste de tous les fichiers dont les noms se terminent
par un point suivit par le caractère a, b, c, ou d.
>echo '$?*_\'
>$?*_\
>echo "$PATH?*_\"
>/usr/bin?*_\
>REP=`ls -lrt *.rpm`;echo $REP
>-rw-r--r-- 1 jpp jpp 134226 nov 21 17:51 libcdf-2.7-1.i386.rpm