Accueil > Linux > Bash : Ranger les images par largeur

Bash : Ranger les images par largeur

samedi 24 février 2024, par Rémi

Aujourd’hui, j’ai eu besoin de ranger un (gros) répertoire d’images .
Le défis :

  • c’est sur de l’Arm, donc impossible de trouver une solution fenêtrée, de toute façon, c’est moins marrant ;
  • C’est sur une petite machine (Cubieboard 2) ;
  • C’est juste pour un partage de réseau ;
  • J’ai quand même bash (le Cubieboard tourne sous Debian stable) ;

Les prérequis :

  • avoir imagick et surtout l’outil identify d’installé ;
  • Les droits d’écritures sur les répertoires ;
  • Bash comme interpréteur shell.

Le script bash :
il est exécuté avec comme paramètre le nom du répertoire ou se situe les images. Pour chaque image trouvée dans ce répertoire, il prend la taille de l’image, crée un répertoire de la largeur de celle-ci s’il n’en existe pas, et déplace l’image dedans. Et passe à l’image suivante. Les liens symboliques sont exclus du trie. Les répertoires aussi.

Le script est ci dessous. Ecrit en une matinée. Il fonctionne, surement améliorable.

Longue vie et prospérité.