Page 1 sur 1

Renommer une masse de fichiers

Posté : lun. 12 déc. 2022 17:09
par foxbille
Bonjour à tous,
J'ai un disque dur contenant ma collec de disques (FLAC), branché en USB sur un raspberry Pi qui fait tourner volumio (ouf !)
J'ai utilisé easyTag pour renommer les pochettes de disque dans l'arborescence des albums (y en a 400 à 500)
Ca m'a complement pourri tous les noms des pochettes qui ont subit l'opération.
Conséquence, sous volumio, l'album n'a plus de pochette.
Depuis mon PC sous linux Mint, je monte le DD volumio à travers le reseau sur /home/bille/Volumio/remote. Pour voir le dégat causé au nom de fichier "pochette de l'
album" :
bille@pcloic:~/Volumio/remote/PrefabSprout$ ls 2005-Andromeda_Heights/
01-Electric_Guitars.flac 08-Avenue_Of_Stars.flac
02-A_Prisoner_Of_The_Past.flac 09-Swans.flac
03-The_Mystery_Of_Love.flac 10-The_Fifth_Horseman.flac
04-Life_s_A_Miracle.flac 11-Weightless.flac
05-Anne_Marie.flac 12-Andromeda_Heights.flac
06-Whoever_You_Are.flac 'cover.jpg'$'\r'
07-Steal_Your_Thunder.flac

Le problème, c'est 'cover.jpg'$'\r'
Je ne sais pas comment renommer ce genre de truc

bille@pcloic:~/Volumio/remote/PrefabSprout$ mv 'cover.jpg'$'\r' cover.jpg
mv: impossible d'évaluer 'cover.jpg'$'\r': Aucun fichier ou dossier de ce type

Premièrement, est-ce que quelqu'un a la commande kivabien ?
Deuxièmement, est-ce que je peux ecrire un script qui explore toute l'arborescence et recherche/remplace les noms erronés ?

Y a des jours ou on ferait mieux de pas toucher à un truc qui marche bien...
Merci de m'avoir lu jusqu'ici
Eric

Re: Renommer une masse de fichiers

Posté : lun. 12 déc. 2022 18:05
par cyrille

Code : Tout sélectionner

mv cover.* cover.jpg
Devrait marcher, plus qu'à le mettre sur un script récursif

Code : Tout sélectionner

$ ls
'cover.jpg$\r'
⌚18:05:19 ▶ ragnarok@ragnarok ▷ ~/test/test1
$ mv cover.* cover.jpg
⌚18:05:31 ▶ ragnarok@ragnarok ▷ ~/test/test1
$ ls
cover.jpg


Une piste
https://cbiot.fr/dokuwiki/php-bash:aide ... shrecursif

Re: Renommer une masse de fichiers

Posté : mar. 13 déc. 2022 12:42
par foxbille
Superbe,
le mv cover.* cover.jpg marche parfaitement
par contre le ls 'cover.jpg$\r' lui echoue
Merci beaucoup
Je testerai le script récursif plus tard
Eric

Re: Renommer une masse de fichiers

Posté : mar. 13 déc. 2022 14:19
par cyrille
par contre le ls 'cover.jpg$\r' lui echoue
C'est à dire ?


Pour le script récursif, sinon un find avec un tube xargs et un motif sur l'extension devrait faire l'affaire une 1 ligne de commande ;)

Re: Renommer une masse de fichiers

Posté : mar. 13 déc. 2022 23:58
par f.x0
Bonjour,

que donne dans le répertoire concerné ?

Code : Tout sélectionner

ls -l *'cover.jpg$\r'

Re: Renommer une masse de fichiers

Posté : mer. 14 déc. 2022 06:46
par cyrille
@fx
je n'avais pas demandé cette commande ;)
NOrmal en échec puisque fichier renommé AMA

Re: Renommer une masse de fichiers

Posté : sam. 28 janv. 2023 18:50
par tioker
Bonsoir,
Je ne regarde pas le détail fourni sur le jpg mais j'ai moi-même été confronté à faire des traitement de masse.
Dans l'exemple qui suit je devais supprimer des fichiers json en nombre mais les fichiers et leurs répertoires contenaient des espaces. Donc j'ai galéré pour trouver ça

Code : Tout sélectionner

(IFS=$'\t\n';liste=$(find . -type f -name '*.json'); for f in "$liste"; do rm $f; done)
Pour faire plus simple (donc en enlevant le traitement des espaces) on peut s'inspirer de ça (je ne fais que l'écho du nom de fichier)

Code : Tout sélectionner

liste=$(find . -type f -name '*.json'); for f in "$liste"; do echo $f\n; done
En espérant avoir [un peu] aidé...