[Shell] Renommage de fichiers

Résolu/Fermé
gregool Messages postés 667 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 8 janvier 2010 - 14 févr. 2009 à 11:20
gregool Messages postés 667 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 8 janvier 2010 - 14 févr. 2009 à 17:43
Bonjour,

j'aimerai automatiser un renommage de fichiers sur ma station mais je ne sais pas pas quel bout prendre la chose:

j'ai un dossier MP3 avec dedans des sous dossiers qui contiennent des fichiers audio et des images qui vont avec l'album.

je voudrais renommer TOUT les .jpg present dans les sous dossiers de MP3 pour les renommer en folder.jpg

pour qu'ils soient pris en compte dans exaile!

comment est ce que je pourrais m'y prendre pour rechercher les .jpg et les renommer?

merci,
A voir également:

8 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
14 févr. 2009 à 11:24
Salut,


Pour les chercher
find /chemin/vers/repertoire -name '*.jpg'
Pour le renommer je n'ai pas compris la règle que tu veux appliquer à tous les fichiers.
Donne un quelques exemples concrets sur tes fichiers.
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
14 févr. 2009 à 11:25
0
gregool Messages postés 667 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 8 janvier 2010 112
14 févr. 2009 à 11:54
merci pour les liens les gars je regarde ça :)

@lami20j

un exemple concret dans Musique, j'ai un dossier par album, adns chaque dossier album j'ai un .jpg qui est en général au nom de l'album je m'en sert comme 'icone' dans nautilus pour identifier les albums d'un coup d'oeil.

il se trouve que exaile mon player a une norme pour les images, il peut afficher la pochette de l'album sans aller la chercher sur internet pourvu que celle ci s'appelle folder.jpg

donc je voudrais que TOUT les .jpg present dans musique s'appelle désormais folder.jpg

donc oui find ou locate pour trouver mv ou rename pour renommer mais je cherche comment tous les renommer.

je lis les liens de jipicy je vais ptet trouver mon bonheur :)

merci
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
14 févr. 2009 à 12:00
Re,

Bon, ton explication ne me donne pas un exemple concret.

Voici ce que j'appelle une exemple concret

J'ai dans Musique deux albums :
album1 et album2
Dans les deux albums(répertoires) j'ai un fichier
pochette.jpg

Le résultat à obtenir

pochette.jpg de album1 s'appellera album1_pochette.jpg
pochette.jpg de album2 s'appellera album2_pochette.jpg

C'est ça que tu veux?!
0
gregool Messages postés 667 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 8 janvier 2010 112
14 févr. 2009 à 13:39
lol non c'est pas mais presque je veux qu'ils s'appellent tous folder.jpg

donc pour reprendre ton exemple concret:

musique-->album 1--------------->chanson 1
| chanson2
| pochette.jpg
|-->album 2-------------->chanson1
chanson 2
nomdelalbum.jpg

et bien je souhaite que pochette.jpg devienne folder.jpg et que nomdelalbum.jpg devienne aussi folder.jpg

quelque soit le nom ou l'album la photo s'appellera folder.jpg

est-ce que c'est plus clair ou est ce que je m'enfonce? :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
14 févr. 2009 à 13:15
En espérant avoir compris ta demande :
[tmpfs]$ tree
.
|-- album1
|   `-- pochette_album1.jpg
`-- album2
    `-- pochette_album2.jpg

2 directories, 2 files

[tmpfs]$ find . -name "*.jpg" -print0 | while read -r -d $'\0' fich; do echo "mv -- $fich ${fich%/*}/folder.jpg"; done
mv -- ./album2/pochette_album2.jpg ./album2/folder.jpg
mv -- ./album1/pochette_album1.jpg ./album1/folder.jpg

[tmpfs]$ find . -name "*.jpg" -print0 | while read -r -d $'\0' fich; do mv -- $fich "${fich%/*}/folder.jpg"; done

[tmpfs]$ tree
.
|-- album1
|   `-- folder.jpg
`-- album2
    `-- folder.jpg

2 directories, 2 files

[tmpfs]$
;-))
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
14 févr. 2009 à 13:59
Re,

Une autre possibilité
$ ls -lR musique/
musique/:
total 8
drwxr-xr-x 2 lami20j lami20j 4096 fév 14 13:50 album1
drwxr-xr-x 2 lami20j lami20j 4096 fév 14 13:49 album2

musique/album1:
total 0
-rw-r--r-- 1 lami20j lami20j 0 fév 14 13:49 chanson1
-rw-r--r-- 1 lami20j lami20j 0 fév 14 13:49 chanson2
-rw-r--r-- 1 lami20j lami20j 0 fév 14 13:50 pochette.jpg

musique/album2:
total 0
-rw-r--r-- 1 lami20j lami20j 0 fév 14 13:49 chanson1
-rw-r--r-- 1 lami20j lami20j 0 fév 14 13:49 chanson2
-rw-r--r-- 1 lami20j lami20j 0 fév 14 13:49 nomdelalbum.jpg
$ for i in $(find musique/ -name '*.jpg');do mv -v $i ${i%/*}/folder.jpg;done
`musique/album2/nomdelalbum.jpg' -> `musique/album2/folder.jpg'
`musique/album1/pochette.jpg' -> `musique/album1/folder.jpg'
$ ls -lR musique/
musique/:
total 8
drwxr-xr-x 2 lami20j lami20j 4096 fév 14 13:57 album1
drwxr-xr-x 2 lami20j lami20j 4096 fév 14 13:57 album2

musique/album1:
total 0
-rw-r--r-- 1 lami20j lami20j 0 fév 14 13:49 chanson1
-rw-r--r-- 1 lami20j lami20j 0 fév 14 13:49 chanson2
-rw-r--r-- 1 lami20j lami20j 0 fév 14 13:50 folder.jpg

musique/album2:
total 0
-rw-r--r-- 1 lami20j lami20j 0 fév 14 13:49 chanson1
-rw-r--r-- 1 lami20j lami20j 0 fév 14 13:49 chanson2
-rw-r--r-- 1 lami20j lami20j 0 fév 14 13:49 folder.jpg
lami20j@debian:~/trash$
0
gregool Messages postés 667 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 8 janvier 2010 112
14 févr. 2009 à 16:09
merci c'est dans cette voie que je vais essayer de creuser, chez moi ça me retourne une erreur :

mv: ne peut évaluer `Infinity/depcalculate.jpg': Aucun fichier ou répertoire de ce type

ça me fait ça sur tout les .jpg

mais ça ne doit pas etre loin
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > gregool Messages postés 667 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 8 janvier 2010
14 févr. 2009 à 16:11
Re,

mv: ne peut évaluer `Infinity/depcalculate.jpg': Aucun fichier ou répertoire de ce type
Il faut se positionner dans le répertoire parent de répertoire Infinity.
Sinon il faut utiliser le chemin complet
for i in $(find /chemin/vers/Infinity -name '*.jpg');do mv -v $i ${i%/*}/folder.jpg;done


0
gregool Messages postés 667 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 8 janvier 2010 112 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
14 févr. 2009 à 16:53
:) j'ai essayé de mettre le chemin absolu vers mon repertoire musique mais ça ne veut pas.

ça me liste bien tout les repertoires, ça me trouve tout les jpg mais mais ça me fait la meme erreur sur chaque
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
14 févr. 2009 à 16:55
Re,

Peut être que c'est le moment de nous montrer ce que tu fais, pour voir les erreurs
0
gregool Messages postés 667 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 8 janvier 2010 112
14 févr. 2009 à 17:00
oui bonne idée:

donc
gregool@Vesta ~ $ ls -l
total 34
*
rwxr-xr-x 329 gregool gregool 9896 fév 9 19:34 MP3
*

gregool@Vesta ~ $ for i in $(find /home/gregool/MP3/ -name '*.jpg');do mv -v $i ${i%/*}/folder.jpg;done
mv: ne peut évaluer `Carmine': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `Meo': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `Boitier.jpg': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `/home/gregool/MP3/Dillinger': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `Escape': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `Plan/Under': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `the': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `running': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `board/Dillinger-Escape-Plan-Under-The-Running-Board-cover.jpg': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `/home/gregool/MP3/Dillinger': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `Escape': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `Plan/Calculating': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `Infinity/depcalculate.jpg': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `/home/gregool/MP3/Dillinger': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `Escape': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `Plan/Irony': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `is': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `a': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `Mokre': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `oczy/Budka': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `Suflera_back.jpg': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `/home/gregool/MP3/polskie': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `zespoly/budka': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `suflera/Budka': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `Suflera': Aucun fichier ou répertoire de ce type

juste qque lignes d'erreurs parceque en gros ça me liste tout mes dossiers en erreur
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
14 févr. 2009 à 17:37
Re,

Je pense que le nom de tes fichiers contiens des espaces
Essaie
$ find /home/lami20j/MP3/ -name '*.jpg'
/home/lami20j/MP3/album2/bb cc.jpg
/home/lami20j/MP3/album1/aa bb.jpg
$ find /home/lami20j/MP3/ -name '*.jpg' -execdir mv -v '{}' folder.jpg \;
`./bb cc.jpg' -> `folder.jpg'
`./aa bb.jpg' -> `folder.jpg'
$ find /home/lami20j/MP3/ -name '*.jpg'
/home/lami20j/MP3/album2/folder.jpg
/home/lami20j/MP3/album1/folder.jpg
Dans ton cas
find /chemin/vers/Infinity -name '*.jpg'  -execdir mv -v '{}' folder.jpg \;

0
gregool Messages postés 667 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 8 janvier 2010 112
14 févr. 2009 à 17:43
oui c'était bien ça le pb, ça a fonctionné :)

merci lami20j :) c'est sympa
0