#1 Le 27/11/2021, à 20:46
- Yvance77
[Résolu] Renommer des fichiers dans des sous-répertoires
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. Comme j'ai un millier d'albums, je ne peut pas tout faire à la main.
Je ne sais pas comment procéder.
Toutes mes tentatives sont vaines avec ce script qui comporte des erreurs et que je ne peux corriger
#!/bin/bash
for file in *z.**; do
if [ -d $file ]
then
cd $file
../script
else
mv $file ${file/z/folder}
fi
done
*** folder.jpg ou jpeg représente la jaquette et non pas le nom du dossier qui lui restera le même. Voici l’arborescence :
Merci de vos lumières
Dernière modification par Yvance77 (Le 28/11/2021, à 18:59)
A trop vouloir faire de l'économie un idéal, nous faisons l'économie de l'Idéal !
Manjaro 20.01 - Mate 64 bits
CM : MSI B550 Tomahawk -- Proc : Ryzen 3600 6 coeurs -- CG : ATI Radeon RX550 -- RAM : Kingstone DDR4
Hors ligne
#2 Le 27/11/2021, à 23:36
- Sciensous
Re : [Résolu] Renommer des fichiers dans des sous-répertoires
un truc vite fait, à tester:
for f in **/z.jp*;do cp "$f" "$(basename $(dirname $f)).jpg";done
si c'est ok, tu peux effacer les z.jp* ensuite
(il aurait été possible de mettre mv à la place de cp, mais à tester avant )
Dernière modification par Sciensous (Le 27/11/2021, à 23:36)
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#3 Le 27/11/2021, à 23:40
- Watael
Re : [Résolu] Renommer des fichiers dans des sous-répertoires
ça ne descendra pas dans les sous-répertoires si tu ne positionne pas globstar.
Dernière modification par Watael (Le 27/11/2021, à 23:41)
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#4 Le 27/11/2021, à 23:45
- Sciensous
Re : [Résolu] Renommer des fichiers dans des sous-répertoires
ok (je n'utilise pas les globstar), alors:
find MUSIQUE -type f -name "z.jp*" -exec cp "{}" "$(basename $(dirname "{}")).jpg" \;
est-ce mieux ?
Dernière modification par Sciensous (Le 27/11/2021, à 23:45)
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#5 Le 28/11/2021, à 01:15
- Yvance77
Re : [Résolu] Renommer des fichiers dans des sous-répertoires
Bonjour
Excusez moi, je ne comprends pas ou je dois mettre le mot "folder", pour que tous les fichiers soient renommer de z.jpg à folder.jpj ?
J'ai bien tenté un truc ainsi que j'ai tourvé sur ce site :
yvance@yvance /M/M/FLAC> find . -name z.jpg -exec rename 's/z.jpg$/folder.jpg/' {} \;
Mais voici le résultat :
Exécutez « rename --help » pour obtenir des renseignements complémentaires.
rename: pas assez d'arguments
EDIT :
Après moult recherches ceci a résolu mon souci qui traînait (pas trouvé avant, et cela fait deux mois que je suis dessus)
Cool si ca marche alors avec mmv (que je ne connais pas) .
Sinon effectivement l'erreur est due aux espaces , a titre d'info , je pense que l'utilisation des guillemets devrait résoudre le problème .
renom.sh
mv "$1" "`dirname "$1"`/folder.jpg"
find . \( -name '*.jpg' -o -name '*.JPG' \) -exec ./renom.sh {} \;
https://forum.ubuntu-fr.org/viewtopic.php?id=76875
Merci encore de vos contributions
Dernière modification par Yvance77 (Le 28/11/2021, à 07:04)
A trop vouloir faire de l'économie un idéal, nous faisons l'économie de l'Idéal !
Manjaro 20.01 - Mate 64 bits
CM : MSI B550 Tomahawk -- Proc : Ryzen 3600 6 coeurs -- CG : ATI Radeon RX550 -- RAM : Kingstone DDR4
Hors ligne
#6 Le 28/11/2021, à 10:32
- Sciensous
Re : [Résolu] Renommer des fichiers dans des sous-répertoires
ok je croyais que tu voulait le nom du folder et non folder lui-même
du coup c'était plus simple !
find MUSIQUE -type f -name "z.jpg" -exec ln "{}" folder.jpg \;
find MUSIQUE -type f -name "z.jpeg" -exec ln "{}" folder.jpeg \;
un hardlink (ln) pour tester, si c'est bon il suffirait de remplacer ln par mv (le renommage est en fait un déplacement)
enfin, si c'est bon, modifie le titre pour indiquer que c'est résolu
Dernière modification par Sciensous (Le 28/11/2021, à 10:33)
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne