Contenu | Rechercher | Menus

Annonce

Le forum a une nouvelle maison !
Le forum a été migré sur un nouvel hébergement. Si jamais vous trouvez le moindre problème, n'hésitez pas à nous en faire part !
Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 22/07/2013, à 10:40

SoKuroneko
Membre

Commande rename

Bonjour,

je cherche à renommer mes fichiers qui sont du type

Blabla-1:1.jpg, Blabla-25:450.jpg

comme suit :

Blabla-001:001.jpg, Blabla-025:450.jpg

afin que tout les nombres soient exprimés avec 3 chiffres. Mes fichiers sont dans plusieurs sous-répertoires d'un même répertoire. J'essaie donc de lancer la commande suivante :
   

rename 's/([0-9]+)(:)([0-9]+)/sprintf "%03d:%03d", $1, $3/e' */*.jpg

Mais cela ne change rien. Le problème semble venir du repérage des ":". En effet, j'arrive bien à changer le ":" en ce que je veux si je ne recherche que lui, et j'arrive bien à changer les autres parties sans lui (avec ([0-9]+)(.jpg) notamment). Mais dès que je mélange les deux, rien ne va plus, la commande ne semble plus détecter mes fichiers comme "à traiter".

Je précise que je n'y connaît pas grand chose. J'ai essayé plusieurs syntaxes différentes, sans succès.

Auriez-vous une idée de l'origine du problème ?

D'avance merci.

Hors ligne

#2 Le 22/07/2013, à 10:50

Brunod
Membre

Re : Commande rename

Sans répondre à tes questions; connais-tu pyrenamer ?


Wanted : emploi dans la sécurité informatique et réseau
Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
36 pc linux convertis

Hors ligne

#3 Le 22/07/2013, à 10:58

SoKuroneko
Membre

Re : Commande rename

Du tout.

Hors ligne

#4 Le 22/07/2013, à 11:28

Brunod
Membre

Re : Commande rename


Wanted : emploi dans la sécurité informatique et réseau
Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
36 pc linux convertis

Hors ligne

#5 Le 22/07/2013, à 11:36

SoKuroneko
Membre

Re : Commande rename

Oui, merci, j'étais en train de regarder.

Mais j'ai l'impression que je devrais renommer les fichiers pour chaque nombre. Avec plus de 100 numéros à renommer ...
Je cherche vraiment un script qui pourrait tout automatiser une fois écrit, car je me retrouve souvent avec des fichiers qui ont besoin d'être renommés comme ça.

Hors ligne

#6 Le 22/07/2013, à 11:57

lynn
Membre

Re : Commande rename

Bonjour,

Il y'a aussi gprename.

Hors ligne

#7 Le 22/07/2013, à 12:27

Brunod
Membre

Re : Commande rename

Tu n'as pas du bien lire, car pyrenamer automatise la tâche et évite justement d'utiliser un script.
Edit : il utilise des patterns d'entrée et de sortie ainsi que des compteurs pour numéroter les noms des fichiers

Dernière modification par Brunod (Le 22/07/2013, à 12:29)


Wanted : emploi dans la sécurité informatique et réseau
Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
36 pc linux convertis

Hors ligne

#8 Le 22/07/2013, à 13:13

tiramiseb
Membre

Re : Commande rename

Salut,

Ta commande semble bien fonctionner chez moi :

sebastien@amaretto:~$ rename -n 's/([0-9]+)(:)([0-9]+)/sprintf "%03d:%03d", $1, $3/e' */*.jpg
test/plop-1:2.jpg renamed as test/plop-001:002.jpg
test/plouf-3:45.jpg renamed as test/plouf-003:045.jpg
test/toto-34:123.jpg renamed as test/toto-034:123.jpg

... en un peu simplifié :

sebastien@amaretto:~$ rename -n 's/([0-9]+):([0-9]+)/sprintf "%03d:%03d", $1, $2/e' */*.jpg
test/plop-1:2.jpg renamed as test/plop-001:002.jpg
test/plouf-3:45.jpg renamed as test/plouf-003:045.jpg
test/toto-34:123.jpg renamed as test/toto-034:123.jpg

Dernière modification par tiramiseb (Le 22/07/2013, à 13:13)


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXe siècle
Domotego : boutique dédiée à la domotique DIY - https://www.domotego.com
Consultant informatique indépendant - Geek et tout plein d'autres choses

Hors ligne

#9 Le 22/07/2013, à 17:48

SoKuroneko
Membre

Re : Commande rename

J'ai réussi à m'en sortir en lançant plusieurs rename de suite. Je ne comprend pas pourquoi le rename en une seule fois ne marche pas.

Merci à vous, je garde tout vos conseils en tête, ils me serviront sûrement la prochaine fois que je voudrais transférer des bouquins sur ma liseuse. Encore merci !

Hors ligne

#10 Le 23/07/2013, à 02:05

nesthib
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Re : Commande rename

Idem chez moi, la commande donnée dans le premier message fonctionne (d'ailleurs, si je me souviens bien c'est moi qui te l'avais donnée http://forum.ubuntu-fr.org/viewtopic.ph … matches[2]).
Quel shell utilises-tu ?

Hors ligne

#11 Le 23/07/2013, à 08:23

pingouinux
Membre

Re : Commande rename

Bonjour,

SoKuroneko   #1 a écrit :

Mes fichiers sont dans plusieurs sous-répertoires d'un même répertoire.

SoKuroneko   #9 a écrit :

Je ne comprend pas pourquoi le rename en une seule fois ne marche pas.

S'il y a plusieurs niveaux de sous-répertoires dans le répertoire initial :

shopt -s globstar
rename .......... **/*.jpg

En ligne

#12 Le 23/07/2013, à 18:43

SoKuroneko
Membre

Re : Commande rename

@nesthib

Exact, c'est bien toi qui me l'avait donné =p J'ai mis un petit moment à comprendre comment la commande marchait, et après j'ai essayé de faire joujou avec, mais j'ai fini par bloquer sur ce problème.

Euh, je suis sur Ubuntu et j'ai rien changé, du coup je dois être sur bash si j'ai bien compris ?

@pingouinux
Non, il n'y a qu'un seul niveau de sous-répertoire =x

Mes noms de répertoire contiennent aussi des chiffres, je me demande si ce n'est pas ce qui gène la commande.

Hors ligne