Renommer fichier dans des sous-dossiers

Résolu/Fermé
Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021 - 21 juil. 2021 à 06:56
Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021 - 28 nov. 2021 à 06:13
Bonjour,

J'ai dans un dossier MUSIQUE plusieurs sous-dossiers qui sont des albums. Avec des titres comme : ACDC (1978) - HIGHWAY TO HELL puis ACDC (1981) - BACK IN BLACK etc...

Dans chacun des sous-dossiers j'ai un fichier z-jpeg ou z.jpg qui correspond à la couverture du de l'album.

Il me faut renommer tous les fichiers z.jpeg ou z.jpg par folder.jpeg ou folder.jpg.

Je ne sais pas comment procéder.

Je suis sous une distribution de tye ARCH et j'ai installer "rename" (perl) mais toutes mes tentatives sont vaines.

Merci de vos lumières

4 réponses

dubcek Messages postés 18567 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 1 décembre 2022 5 568
21 juil. 2021 à 10:16
hello
Il me faut renommer tous les fichiers z.jpeg ou z.jpg par folder.jpeg ou folder.jpg.
folder signifie le nom du répertoire dans lequel se trouve le fichier ?
0
Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021 21
21 juil. 2021 à 11:00
Bonjour,

Non, "folder.jpeg" ou "folder.jpg" sera le nom de la jacquette dans chacun des sous-dossiers (que sont les albums) eux insérés dans un dossier 'MUSIQUE FLAC"
0
Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021 21
Modifié le 22 juil. 2021 à 08:25
Bonjour

J'ai bien ce script bash

#!/bin/bash
for file in *z.**; do
mv $file ${file/z/folder}
done


Il me change bien le nom, mais il ne va que dans le dossier principal, et je souhaite qu'il aille chercher tous les fichiers "z.jpg" ou "z.jpeg" dans les sous-dossiers.

Une idée svp ?

0
Essayez :

#!/bin/bash
for file in *z.**; do
if [ -d $file ]
then
cd $file
../script
else
mv $file ${file/z/folder}
fi
done


Note 1 la 6ième ligne est pour rappeler le script, dont j'ai supposé qu'il s'appelle script.
Note 2 je n'ai pas essayé.
0
Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021 21
Modifié le 22 juil. 2021 à 21:55
Bonjour

Voici la réponse :

mv: impossible d'évaluer '*z.**': Aucun fichier ou dossier de ce type

PS : le fichier de ce script se nomme : "zrenom"


Merci à toi
0
Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021 21 > Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021
22 juil. 2021 à 23:14
En revanche, il va bien dans le dossier principal faire la modification du fichier "z.jpg" (dont voici le chemin = /MULTIMEDIA/MUSIQUE/FLAC)

Je souhaite qu'il aille le faire dans tous les sous-dossiers, c'est à dire que le dossier "FLAC" comprend pas moins de 640 albums de musique écrit ainsi (c'est variable) ACDC (1978) - HIGHWAY TO HELL ; TRUST (1981) - RÉPRESSION ; etc...
0
Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021 21
27 nov. 2021 à 06:11
Bonjour,

Je reviens sur cette demande svp ?

Merci
0
Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021 21
28 nov. 2021 à 06:13
Solution trouvée ici: https://forum.ubuntu-fr.org/viewtopic.php?id=76875

Il suffit de créer un script sous ce nom : renom.sh

On y colle cela :

 mv "$1" "`dirname "$1"`/folder.jpg"



On se place dans le dossier principal (change directory) et l'on exécute cette commande :

find . \( -name '*.jpg' -o -name '*.JPG' \) -exec ./renom.sh {} \;
0