logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 22-12-2018 14:49:26

mapomme1108
Membre
Inscription : 03-02-2016

[RESOLU] Script récursif pour conversion d'images

Bonjour,

Je veux écrire un script qui renommerait tous les fichiers jpg en "folder.jpg" dans des dossiers de façon récursive (il s'agit des pochettes de ma bibliothèque musicale)
et qui changerait la résolution.

Pour le moment, j'en suis à ce script que j'exécute à la racine de l'arborescence:

find . -name '*.jpg' -type f -exec bash -c 'convert "$0" -resize 500x500 "${0%}.jpg"' {} \;



mais ce script crée des fichiers jpg avec le nom

nom_du_fichier_source.jpg.jpg



Que dois-je modifier pour que le nom en sortie soit :

folder.jpg


?

D'avance merci pour votre aide.

Dernière modification par mapomme1108 (22-12-2018 16:19:13)

Hors ligne

#2 22-12-2018 15:13:09

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : [RESOLU] Script récursif pour conversion d'images

find . -name '*.jpg' -type f -exec bash -c 'echo convert "$0" -resize 500x500 "folder.jpg" && echo rm "$0"' {} \;


Enlève les deux "echo" si c'est ce que tu veux. Vérifies bien, parce qu'il y a pas de retour arrière sauf si t'as un backup ! (j'ose à peine l'avouer mais j'ai supprimé tous mes .jpg de mon home en oubliant de mettre un echo sur le rm - mais j'avais un backup, alors avec une commande find j'ai tout rétabli. Mais je me suis sentit très stupide l'espace d'un instant ! Vaut toujours mieux faire ses test dans un espace confiné, mais je suis un grand couillon ^^')

C'est astucieux le coup d'appeller bash -c et d'appeler la variable $0. J'y avais jamais pensé. Merci de m'avoir appris un truc big_smile

Dernière modification par otyugh (22-12-2018 15:27:16)


virtue_signaling.pngpalestine.png

En ligne

#3 22-12-2018 15:38:18

mapomme1108
Membre
Inscription : 03-02-2016

Re : [RESOLU] Script récursif pour conversion d'images

Salut,

Merci de ton aide mais si je lance ce script :

find . -name '*.jpg' -type f -exec bash -c 'convert "$0" -resize 500x500 "folder.jpg" && rm "$0"'  {} \;



Le nom de fichier de sortie est bien

folder.jpg


mais il est placé à la racine de ma bibliothèque et pas dans chaque sous-dossier.

Hors ligne

#4 22-12-2018 15:59:16

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : [RESOLU] Script récursif pour conversion d'images

...autant pour moi  (je suis un peu con, là é_è). J'espère que tu as fait gaffe avant ? ;..;

find . -name '*.jpg' -type f -exec bash -c 'echo convert "$0" -resize 500x500 "$(dirname $0)/folder.jpg" && echo rm "$0"' {} \;

Dernière modification par otyugh (22-12-2018 16:01:51)


virtue_signaling.pngpalestine.png

En ligne

#5 22-12-2018 16:18:54

mapomme1108
Membre
Inscription : 03-02-2016

Re : [RESOLU] Script récursif pour conversion d'images

Super! ça fonctionne!

Merci encore pour ton aide smile

Hors ligne

Pied de page des forums