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.

  1. Créer des fichiers toto, t1t, tata, tut, ete, 213, 7t7, t3t2t4, toutou et tutu.jpg.
  2. Essayer les commandes ls *u*, ls t*t* et ls t?t?.
  3. 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 dossiers images et videos dans ~/Bureau. Proposez une commande pour copier toutes les images png dans le dossier images et une commande pour copier tous les films avi dans le dossier videos.
  4. Comment peut-on afficher les tailles (en blocs) de tous les fichiers dont le nom commence par un t ? dont le nom contient un u ? dont le nom comporte un t 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).

  1. Tester la commande cat t[a-o]*, la commande ls ?[tu]*.
  2. Proposer une commande supprimant tous les fichiers dont le nom commence par un chiffre.
  3. Proposer une commande supprimant tous les fichiers dont le nom comporte un chiffre.