1. Génération de noms de fichiers
Pour éviter d’avoir à taper les noms complets des fichiers, mais aussi
pour pouvoir représenter plusieurs fichiers sous forme concise, il
existe des raccourcis pour écrire les noms de fichiers ou de dossiers.
Ces raccourcis vont permettre par exemple de déplacer tous les fichiers
dont le nom finit par .jpg
dans un répertoire images
ou encore de
supprimer tous les fichiers dont le nom contient un chiffre.
- Créer des fichiers
toto
,t1t
,tata
,tut
,ete
,213
,7t7
,t3t2t4
,toutou
ettutu.jpg
. - Essayer les commandes
ls *u*
,ls t*t*
etls t?t?
. - Le caractère
*
peut remplacer n’importe quelle suite de caractères, le caractère?
peut remplacer n’importe quel caractère (mais un seul). Dans le dossier/rtnb/opt/matlab_R2016a/toolbox/images/imdata/
se trouvent des fichiers dont le nom se termine par.png
(des images) et des fichiers dont le nom se termine par.avi
(des films). Créez des dossiersimages
etvideos
dans~/Bureau
. Proposez une commande pour copier toutes les images png dans le dossierimages
et une commande pour copier tous les films avi dans le dossiervideos
. - Comment peut-on afficher les tailles (en blocs) de tous les fichiers
dont le nom commence par un
t
? dont le nom contient unu
? dont le nom comporte unt
en deuxième lettre ?
Un mécanisme plus complexe permet de sélectionner des ensembles de noms
de fichiers comportant un caractère parmi une liste : les classes de
caractères. Les classes de caractères s’écrivent de la façon suivante :
[aef]
ou encore [a-f0-9]
. Le premier motif représente soit un e
,
soit un a
, soit un f
. Le deuxième représente soit une lettre
minuscule entre a
et f
, soit un chiffre (ce qui nous donne les
chiffres hexadécimaux).
- Tester la commande
cat t[a-o]*
, la commandels ?[tu]*
. - Proposer une commande supprimant tous les fichiers dont le nom commence par un chiffre.
- Proposer une commande supprimant tous les fichiers dont le nom comporte un chiffre.