Contenu | Rechercher | Menus

Annonce

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, à 11:40

SoKuroneko

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, à 11:50

Brunod

Re : Commande rename

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


Windows est un système d'exploitation de l'homme par l'ordinateur.
Linux, c'est le contraire ... --> état de la conversion : 34 pc linux

Hors ligne

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

SoKuroneko

Re : Commande rename

Du tout.

Hors ligne

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

Brunod

Re : Commande rename


Windows est un système d'exploitation de l'homme par l'ordinateur.
Linux, c'est le contraire ... --> état de la conversion : 34 pc linux

Hors ligne

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

SoKuroneko

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, à 12:57

lynn

Re : Commande rename

Bonjour,

Il y'a aussi gprename.


lynn

Linux est la solution ! Au fait, c'est quoi ton problème ?
Ubuntu Trusty Tahr 64 bits

Hors ligne

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

Brunod

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, à 13:29)


Windows est un système d'exploitation de l'homme par l'ordinateur.
Linux, c'est le contraire ... --> état de la conversion : 34 pc linux

Hors ligne

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

tiramiseb

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, à 14:13)


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

En ligne

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

SoKuroneko

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, à 03:05

nesthib

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 tongue).
Quel shell utilises-tu ?


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

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

pingouinux

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

Hors ligne

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

SoKuroneko

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