[krename] Renommage suivant un pattern (Résolu)

Ce qui ne concerne ni le forum ni des problèmes
Avatar de l’utilisateur
Fif91
yeomen
Messages : 225
Inscription : lun. 17 janv. 2011, 13:23

[krename] Renommage suivant un pattern (Résolu)

Message par Fif91 »

Bonjour,
J'ai un certain nombre de fichiers, suivant ce modèle de nommage :
- "Magasin - NatureObjet_AAAAMMJJ.ext"

Je souhaiterai désormais, que les fichiers se nomment de la sorte :
- "Magasin - AAAAMMJJ_NatureObjet.ext"

Comment puis-je faire avec krename ou autre outil ?
Merci d'avance pour votre aide. :D
Dernière modification par Fif91 le sam. 13 nov. 2021, 11:20, modifié 1 fois.
Mageia 4 x64 | ArchLinux x64 | KDE
MSI P45 Neo-F - Intel E8500 @3.16 GHz - 7 Go RAM - ATI HD Radeon 3850
Avatar de l’utilisateur
papajoke
Elfe
Messages : 773
Inscription : sam. 30 août 2014, 19:54

Re: [krename] Renommage suivant un pattern

Message par papajoke »

bonjour

A tester dans ton répertoire...

Code : Tout sélectionner

ls -1 | sed 's/\./_/g' | awk -F " - |_" '{print "mv \""$0"\" \""$1" - "$3"_"$2"."$4"\""}'
ne change rien :twisted: ne fait que afficher des "mv toto tata" , a adapter si pas bon (si séparateur "." ou "_" dans "NatureObjet" par exemple)
Arch stable - Kde 5 / zsh - btrfs/mbr - Intel Core i3 - 6Go RAM - GeForce 405 video-nouveau
Avatar de l’utilisateur
Fif91
yeomen
Messages : 225
Inscription : lun. 17 janv. 2011, 13:23

Re: [krename] Renommage suivant un pattern

Message par Fif91 »

Tout d'abord merci pour ta réponse.
Cependant, si j'essaie d'exécuter une ligne obtenue par cette ligne de commande, j'obtiens le message d'erreur suivant, en étant placé dans le dossier :

Code : Tout sélectionner

mv "Pixmania - EeePC_20110603_djvu" "Pixmania - 20110603_EeePC.djvu"
mv: impossible d'évaluer 'Pixmania - EeePC_20110603_djvu': Aucun fichier ou dossier de ce type
EDIT
Le pb est le "_djvu" qui devrait être un ".djvu" au niveau du fichier source.
Comment modifier la ligne de commande ?
Dernière modification par Fif91 le sam. 16 oct. 2021, 14:03, modifié 2 fois.
Mageia 4 x64 | ArchLinux x64 | KDE
MSI P45 Neo-F - Intel E8500 @3.16 GHz - 7 Go RAM - ATI HD Radeon 3850
Avatar de l’utilisateur
Fif91
yeomen
Messages : 225
Inscription : lun. 17 janv. 2011, 13:23

Re: [krename] Renommage suivant un pattern

Message par Fif91 »

Une idée ? Je ne comprends pas la ligne de commande en fait.
J'ai tenté, sans succès :
ls -1 | sed 's/\././g' | awk -F " - |_" '{print "mv \""$0"\" \""$1" - "$3"_"$2"."$4"\""}'
Mageia 4 x64 | ArchLinux x64 | KDE
MSI P45 Neo-F - Intel E8500 @3.16 GHz - 7 Go RAM - ATI HD Radeon 3850
Avatar de l’utilisateur
Chon
Daikyu
Messages : 86
Inscription : jeu. 15 févr. 2018, 09:31

Re: [krename] Renommage suivant un pattern

Message par Chon »

Salut,

Il existe des solutions GUI de renommage par lot comme Inviska Rename qui a la bonne idée d'exister en AppImage et donc à tester sans installation et sans modération. :wink:
ArchLinux/SysLinux/XFce en MonoBoot et MonoUser
GIGABYTE Brix GB-BXi3-4010 - RAM 8Go - SSD 120Go - Video Intel HD Graphics 4400 - Audio Realtek ALC269
Avatar de l’utilisateur
papajoke
Elfe
Messages : 773
Inscription : sam. 30 août 2014, 19:54

Re: [krename] Renommage suivant un pattern

Message par papajoke »

désolé, je n'avais pas testé (réfléchi :oops: le sed altère le $0)

Code : Tout sélectionner

ls -1 | awk -F "[-_ \.]" '{print "mv \""$0"\" \""$1" - "$5"_"$4"."$6"\""}'
on decoupe la chaine avec les caractères espace,point,tiret et moins et on affiche les segments dans l'ordre désiré
Arch stable - Kde 5 / zsh - btrfs/mbr - Intel Core i3 - 6Go RAM - GeForce 405 video-nouveau
Avatar de l’utilisateur
Fif91
yeomen
Messages : 225
Inscription : lun. 17 janv. 2011, 13:23

Re: [krename] Renommage suivant un pattern

Message par Fif91 »

J'ai beaucoup de mal à comprendre la ligne proposée, mais on s'y approche.
Seul bémol :
- Magasin peut contenir des espaces (ie "Leroy Merlin")
- L'extension est supprimée dans la cible

Exemple de nom de fichiers :
- "LDLC - Souris ergonomique Logitech_20190613.pdf"
- "Darty - Tablette HTC Nexus 9_20150626.pdf"
- "Leroy Merlin - Tondeuse_20180421.djvu"
Mageia 4 x64 | ArchLinux x64 | KDE
MSI P45 Neo-F - Intel E8500 @3.16 GHz - 7 Go RAM - ATI HD Radeon 3850
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [krename] Renommage suivant un pattern

Message par benjarobin »

Vive les regex :

Code : Tout sélectionner

find -type f | while read f ; do echo mv "$f" $(sed -r "s|^(.*/)?([^/-]+) - (.+)_([0-9]+)\.(.+)$|\1\2 - \4_\3.\5|" <<< "$f") ; done
Si cela te plait, il suffit de remplacer echo mv par mv

Ou via krename (que je ne connaissait pas). Voir l'image pour savoir comment j'ai fait : https://ibb.co/qpzgMBv
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
Fif91
yeomen
Messages : 225
Inscription : lun. 17 janv. 2011, 13:23

Re: [krename] Renommage suivant un pattern

Message par Fif91 »

Nickel chrome !!!
Les 2 solutions fonctionnent.
Comment dire... merci benjarodin
Mageia 4 x64 | ArchLinux x64 | KDE
MSI P45 Neo-F - Intel E8500 @3.16 GHz - 7 Go RAM - ATI HD Radeon 3850
Répondre