Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Renomage] Renomer une liste de fichiers
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
DaiKo
Apprentice
Apprentice


Joined: 07 Apr 2004
Posts: 161
Location: Mendes (France)

PostPosted: Mon Jan 10, 2005 7:43 am    Post subject: [Renomage] Renomer une liste de fichiers Reply with quote

Salut :)

Existe t il une solution élégante pour renomer une liste de fichier numéroté ?

ex :
Liste1 :
Quote:
Livre1.chapitre1_titre_chapitre.page1.jpg
Livre1.chapitre1_titre_chapitre.page2.jpg
Livre1.chapitre2_titre_chapitre.page3.jpg
...


vers Liste2 :
Quote:
Livre1.chap1.01.Fr.jpg
Livre1.chap1.02.Fr.jpg
Livre1.chap2.03.Fr.jpg
...


++
Back to top
View user's profile Send private message
Pachacamac
Veteran
Veteran


Joined: 22 Nov 2003
Posts: 1264
Location: Paris - France

PostPosted: Mon Jan 10, 2005 8:06 am    Post subject: Reply with quote

Ca doit être possible mais pas évident. Le résultat à obtenir est très différent de l'origine.
J'y réfléchirai ce soir.
Back to top
View user's profile Send private message
TTK
Guru
Guru


Joined: 02 Mar 2004
Posts: 523

PostPosted: Mon Jan 10, 2005 8:39 am    Post subject: Reply with quote

Salut

Ben avec un truc comme:
Code:

for i in *.jpg
do
 mv $i `echo $i | sed 's/Livre\(.\).chapitre\(.\)_titre_chapitre.page\(.\).jpg/Livre\1.chap\2.\3.Fr.jpg/'`
done


Ca marche a peu pres, mais si tu veux vraiment compléter tes chiffres avec des zéros (01.jpg) tu n'echapperas pas au script perl. Pas compliqué d'ailleurs ...[/code]
Back to top
View user's profile Send private message
linux_girl
Apprentice
Apprentice


Joined: 12 Sep 2003
Posts: 287

PostPosted: Mon Jan 10, 2005 8:43 am    Post subject: Reply with quote

TTK wrote:
Salut

Ben avec un truc comme:
Code:

for i in *.jpg
do
 mv $i `echo $i | sed 's/Livre\(.\).chapitre\(.\)_titre_chapitre.page\(.\).jpg/Livre\1.chap\2.\3.Fr.jpg/'`
done


Ca marche a peu pres, mais si tu veux vraiment compléter tes chiffres avec des zéros (01.jpg) tu n'echapperas pas au script perl. Pas compliqué d'ailleurs ...[/code]


yep ca ser a quoi de \(.\) ? dans la regexp je croyat qu'un \.* fesait l'afiare ?
_________________
:D :D
Back to top
View user's profile Send private message
LostControl
l33t
l33t


Joined: 02 Mar 2004
Posts: 885
Location: La Glane, Suisse

PostPosted: Mon Jan 10, 2005 8:52 am    Post subject: Reply with quote

Y'a sans doute moyen de faire ça propre avec rename !

Code:
$ man rename


A+
_________________
http://www.jaqpot.net
http://www.fail2ban.org
Back to top
View user's profile Send private message
Panuru
n00b
n00b


Joined: 10 Aug 2004
Posts: 36
Location: Paris, France

PostPosted: Mon Jan 10, 2005 9:36 am    Post subject: Reply with quote

Un logiciel à la Krename (dans Portage) permet de faire ce genre d'opération très facilement.
Back to top
View user's profile Send private message
Darkael
Veteran
Veteran


Joined: 10 Aug 2004
Posts: 1321
Location: France

PostPosted: Mon Jan 10, 2005 9:36 am    Post subject: Reply with quote

Daiko, si je comprends bien à la place de titre_chapitre il y a le nom du chapitre (ce n'est pas litérallement titre_chapitre) et à la place de Livre1 il y a le titre du livre?
Dans ce cas, ma version:
Code:

#!/bin/sh
for f in *.jpg
do
 mv $f `echo $f | sed "s/\(.*\)\.chapitre\([0-9]*\)[^\.]*\.page\([0-9]*\).jpg/\1.chap\2.\3.Fr.jpg/" | sed "s/\.\([0-9]\)\.Fr/\.0\1.Fr/"`
done


Ca donne ça:
Code:

gael@ubik ~/rename $ ls -1
Le_Monde.chapitre1_Edito.page1.jpg
Le_Monde.chapitre2_Sport.page13.jpg
Le_Monde.chapitre2_Sport.page1.jpg
Playboy.chapitre1_Jenna.page12.jpg
Playboy.chapitre1_Jenna.page1.jpg
Playboy.chapitre2_Deborah.page2.jpg

gael@ubik ~/rename $ ./rename.sh

gael@ubik ~/rename $ ls -1
Le_Monde.chap1.01.Fr.jpg
Le_Monde.chap2.01.Fr.jpg
Le_Monde.chap2.13.Fr.jpg
Playboy.chap1.01.Fr.jpg
Playboy.chap1.12.Fr.jpg
Playboy.chap2.02.Fr.jpg


Bon, loi de Murphy oblige, c'est surement pas le résultat que tu voulais et/ou les fichiers ne sont pas comme ça à la base. Donc, la morale de l'histoire, c'est que tu devrais apprendre la syntaxe de sed, pour pouvoir faire toi-même selon les cas....

@TTK: ta version ne prend pas en compte que titre_chapitre change selon les chapitres, et pour rajouter les 0 il suffit de faire une deuxième passe de sed (oui c'est moche, mais bon :D )

@linux_girl(?): les parenthèses, ça sert à retenir un morceau de la chaine, pour la réutiliser dans la substitution, avec \1, \2 ...

@LostControl: je connais pas les subtilités de rename, mais je pense qu'à un certain niveau de complexité ça sera tout aussi compliqué qu'avec sed...

Voila.
(je devrais être en cours, à la place je glande chez moi et j'écris des scripts laids pour les autres ... C'est beau la vie d'étudiant :D)
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Mon Jan 10, 2005 9:41 am    Post subject: Reply with quote

Quote:


Code:

Playboy.chapitre1_Jenna.page12.jpg
Playboy.chapitre1_Jenna.page1.jpg
Playboy.chapitre2_Deborah.page2.jpg




lol :D
Back to top
View user's profile Send private message
Pachacamac
Veteran
Veteran


Joined: 22 Nov 2003
Posts: 1264
Location: Paris - France

PostPosted: Mon Jan 10, 2005 11:40 am    Post subject: Reply with quote

KarnEvil wrote:

Voila.
(je devrais être en cours, à la place je glande chez moi et j'écris des scripts laids pour les autres ... C'est beau la vie d'étudiant :D)


Ce matin je me suis dépéché de partir pour aller en cours.
Finallement j'ai raté les 2heures de 7 à 10 et je me suis retrouvé en anglais ! :? En plus cet aprèm je n'ai pas cours, ce n'est pas mon groupe.

Bref la semaine commence plutôt mal. Normal, elle débute par un lundi...

@linux_girl :
linux_girl wrote:

yep ca ser a quoi de \(.\) ? dans la regexp je croyat qu'un \.* fesait l'afiare ?

\(.\) permet d'identifier une sous expression que tu repositionne avec \1 \2 etc.

Tu peux aussi faire quelque chose du style :
Code:

ls *.jpg | sed "s/Livre\(.\).chapitre\(.\)_titre_chapitre.page\(.\).jpg/mv '&' 'Livre\1.chap\2.\3.Fr.jpg'/" | sh
Back to top
View user's profile Send private message
DaiKo
Apprentice
Apprentice


Joined: 07 Apr 2004
Posts: 161
Location: Mendes (France)

PostPosted: Mon Jan 10, 2005 12:36 pm    Post subject: Reply with quote

Merci beaucoup pour cette profusion de reponses,

Dans un premier temps, TTK merci pour ta solution, mais j'aurai du le preciser dans mon post je prefererai eviter d'utiliser un script, car cela m'obligerait a en ecrire un a chaque fois que je serait dans un cas similaire.

Je vais plutot regarder dans la direction de rename et krename, et puis si sa ne correspond pas j'aurai plus qu'a developper mon propre soft...

Si quelqu'un connait un soft qui peut deja faire ce genre d'opération simplement, je suis preneur :)
Back to top
View user's profile Send private message
Pachacamac
Veteran
Veteran


Joined: 22 Nov 2003
Posts: 1264
Location: Paris - France

PostPosted: Mon Jan 10, 2005 12:45 pm    Post subject: Reply with quote

J'ai pas tout compris là. Pourquoi tu ne veux pas un script ? D'après toi que vas faire un soft ? Te demander ce que tu veux faire. Donc tu peux toi même utiliser des variables pour faire de même si tu préfères.
M'enfin je me vais me répèter, j'ai pas compris ton problème de script.
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Mon Jan 10, 2005 1:43 pm    Post subject: Reply with quote

Pachacamac wrote:

Ce matin je me suis dépéché de partir pour aller en cours.
Finallement j'ai raté les 2heures de 7 à 10 et je me suis retrouvé en anglais ! :?

LOL
tu es vraiment crevé toi!!!!!

Code:
:s/7/8/g ou :s/2/3/g
:wink:
_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley
Back to top
View user's profile Send private message
zdra
Veteran
Veteran


Joined: 30 Nov 2003
Posts: 1693
Location: Bruxelles, Belgique

PostPosted: Mon Jan 10, 2005 2:07 pm    Post subject: Reply with quote

j'ai examen demain :'( mais qu'est ce que je fais encore devant le pc alors ???? :evil:
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Mon Jan 10, 2005 2:08 pm    Post subject: Reply with quote

Ben, M... alors!
Back to top
View user's profile Send private message
kernelsensei
Bodhisattva
Bodhisattva


Joined: 22 Feb 2004
Posts: 5619
Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)

PostPosted: Mon Jan 10, 2005 2:10 pm    Post subject: Reply with quote

zdra wrote:
j'ai examen demain :'( mais qu'est ce que je fais encore devant le pc alors ???? :evil:


Ah ben moi c'est samedi matin ... :roll:
_________________
$ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join'
Back to top
View user's profile Send private message
rg421
Apprentice
Apprentice


Joined: 07 Dec 2004
Posts: 192
Location: Strasbourg

PostPosted: Mon Jan 10, 2005 2:26 pm    Post subject: Reply with quote

Quote:
Bon, loi de Murphy oblige, c'est surement pas le résultat que tu voulais et/ou les fichiers ne sont pas comme ça à la base. Donc, la morale de l'histoire, c'est que tu devrais apprendre la syntaxe de sed, pour pouvoir faire toi-même selon les cas....

Juste histoire de mettre mes 0,02cts... et pour la beauté du geste (oui, 3 fork pour renommer un fichier, c'est trop pour moi).
Non, je n'utilise pas sed:
Code:
g54:~/temp rg$ ll
total 0
drwxr-xr-x    7 rg       rg            238 Jan 10 14:44 .
drwxr-xr-x   33 rg       rg           1122 Jan 10 14:10 ..
-rw-r--r--    1 rg       rg              0 Jan 10 14:44 AutreLivre2.chapitre15_du_comment_je_finis.page1.jpg
-rw-r--r--    1 rg       rg              0 Jan 10 14:13 AutreLivre2.chapitre1_preambule.page1.jpg
-rw-r--r--    1 rg       rg              0 Jan 10 14:12 Livre1.chapitre1_preambule.page1.jpg
-rw-r--r--    1 rg       rg              0 Jan 10 14:12 Livre1.chapitre2_mon_titre_de_chapitre.page2.jpg
-rw-r--r--    1 rg       rg              0 Jan 10 14:13 Livre1.chapitre5_mon_titre_de_chapitre.page12.jpg
g54:~/temp rg$ for i in *; do oldIFS=$IFS; IFS='._'; set x $i; IFS=$oldIFS; mv "$i" $2.${3/#chapitre/chap}."${i##*page}"; done
g54:~/temp rg$ ll
total 0
drwxr-xr-x    7 rg       rg            238 Jan 10 15:21 .
drwxr-xr-x   33 rg       rg           1122 Jan 10 14:10 ..
-rw-r--r--    1 rg       rg              0 Jan 10 14:13 AutreLivre2.chap1.1.jpg
-rw-r--r--    1 rg       rg              0 Jan 10 14:44 AutreLivre2.chap15.1.jpg
-rw-r--r--    1 rg       rg              0 Jan 10 14:12 Livre1.chap1.1.jpg
-rw-r--r--    1 rg       rg              0 Jan 10 14:12 Livre1.chap2.2.jpg
-rw-r--r--    1 rg       rg              0 Jan 10 14:13 Livre1.chap5.12.jpg
g54:~/temp rg$

Limpide, non ? Bon, évidemment, pas de numéro de page sur 2 chiffres de façon systématique. mais économie de ressources garantie.

--
Renaud
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Mon Jan 10, 2005 2:34 pm    Post subject: Reply with quote

Y a vraiment de la feignasse qui veut pas lire les man ici !!!

Même pas faire une petite recherche sur le forum !!!

https://forums.gentoo.org/viewtopic.php?t=255387

https://forums.gentoo.org/viewtopic.php?t=195862
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
Pachacamac
Veteran
Veteran


Joined: 22 Nov 2003
Posts: 1264
Location: Paris - France

PostPosted: Mon Jan 10, 2005 4:41 pm    Post subject: Reply with quote

@rg421 : Pas mal, je n'aurait pas pensé à le faire comme ça.

@sireyessire : Effectivement il s'agit bien des heures de 8 à 10.

@Tout le monde : Tous aux abris yoyo arrive !!!
On ne peux même pas s'amuser à scripter quelques commandes qu'il va nous sortir RTFM lol

En tout cas je n'ai jamais utilisé rename mais je te promet d'y jetter un coup d'oeil, il a l'air sympatique.
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Mon Jan 10, 2005 4:55 pm    Post subject: Reply with quote

Pachacamac wrote:
On ne peux même pas s'amuser à scripter quelques commandes qu'il va nous sortir RTFM :lol:

En tout cas je n'ai jamais utilisé rename mais je te promet d'y jetter un coup d'oeil, il a l'air sympatique.
Il est surtout fait pour renommer les fichiers/répertoires ... :lol:

Mais pourquoi faire simple ...

D'ailleurs si quelqu'un à un script pour afficher le contenu d'un répertoire par ordre alphabétique de noms de fichiers, je suis preneur. :twisted:
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Mon Jan 10, 2005 5:01 pm    Post subject: Reply with quote

yoyo wrote:
[
D'ailleurs si quelqu'un à un script pour afficher le contenu d'un répertoire par ordre alphabétique de noms de fichiers, je suis preneur. :twisted:

un
Code:
ls -f | sort -d
??
_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley


Last edited by sireyessire on Mon Jan 10, 2005 5:06 pm; edited 2 times in total
Back to top
View user's profile Send private message
Pachacamac
Veteran
Veteran


Joined: 22 Nov 2003
Posts: 1264
Location: Paris - France

PostPosted: Mon Jan 10, 2005 5:04 pm    Post subject: Reply with quote

MDR !

ls est déjà par odre alpha. ;)
Je pense que sireyessire n'a pas fait attention. Hé garçon il rigole !
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Mon Jan 10, 2005 5:07 pm    Post subject: Reply with quote

Pachacamac wrote:
MDR !

ls est déjà par odre alpha. ;)
Je pense que sireyessire n'a pas fait attention. Hé garçon il rigole !

non pas forcément dans le bon ordre. ça dépend du shell que tu utilises: il te sort pas le même ordre entre bash zsh....
_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Mon Jan 10, 2005 5:33 pm    Post subject: Reply with quote

Pachacamac wrote:
MDR !

ls est déjà par odre alpha. ;)
Je pense que sireyessire n'a pas fait attention. Hé garçon il rigole !
C'était en effet une boutade ...

sireyessire wrote:
non pas forcément dans le bon ordre. ça dépend du shell que tu utilises: il te sort pas le même ordre entre bash zsh....
Tu as des exemples entre bash et zsh ??
Parce que j'ai testé dans plusieurs répertoire et le "ls -l" m'a toujours sorti la même chose dans les 2 cas (liens, majuscules etc.) ...

Et pis de toute façon, c'est pas un script; moi je veux au moins une boucle (et pas une pov' redirection à 2 balles). :P

PS : par contre, je ne suis pas sûr que l'ordre dépend de l'interpréteur de commande.
man ls :
Quote:
Trier les répertoires en fonction de la taille de fichier et non pas en ordre alphabétique.

L'ordre alphabétique semble donc être l'ordre par défaut.
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Mon Jan 10, 2005 5:43 pm    Post subject: Reply with quote

yoyo wrote:

L'ordre alphabétique semble donc être l'ordre par défaut.

pour ls oui c'est vrai
mais pas pour un
Code:
for i in */*.jpg; do echo $i; done
.
il me semble bien que zsh utilise pas par défaut le même ordre de triage que bash
_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Mon Jan 10, 2005 5:51 pm    Post subject: Reply with quote

sireyessire wrote:
yoyo wrote:

L'ordre alphabétique semble donc être l'ordre par défaut.

pour ls oui c'est vrai
Alors dans ce cas, ta commande "ls -f | sort -d" est excellente !! :lol:
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum