[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gulliver] renommer en masse (numérotation croissante)


From nono <pingvenono at free dot fr>
Subject Re: [gulliver] renommer en masse (numérotation croissante)
Date Sun, 13 Oct 2013 11:49:18 +0200

Salut

Le vendredi 11 octobre 2013 à 20:19 +0000, Yon a écrit :
> On Fri, Oct 11, 2013 at 08:12:19PM +0000, Yon wrote:
> > On Fri, Oct 11, 2013 at 09:33:37PM +0200, nono wrote:
> > > Je désire ajouter un 0 devant les noms de fichiers qui commencent par un
> > > chiffre de 1 à 9 suivi d'un espace. Cet espace est lui même suivi de
> > > tout type de caractère (même exotique). Les dizaines et autres nombres à
> > > 2 chiffres  (10 11 12... 20 21 22...) ne sont donc pas concernés.
> > Ce petit script perl fait peut-être ce que tu veux (si j'ai bien
> > compris). 
> > 
> >   #!/usr/bin/perl
> >   # dans un fichier renommer.pl
> >   use File::Find;
> >   use File::Copy;
> > 
> >   sub rename_file {
> >       my $name_before = $_;
> >       if (s/^([1-9]) /0$1 /) {
> >           move($name_before,$_);
> >       }
> >   }
> > 
> >   find(\&rename_file,"chemin/vers/ton/dossier/");
> Je me rends compte qu'il manque un peu d'explications dans le cas où tu
> ne connaîtrais pas perl :)
> 
> Le find applique la fonction rename_file récursivement à partir du
> dossier que tu précises (comme la commande find du terminal), et un
> chdir est fait implicitement à l'appel de rename_file, et $_ est le nom
> du fichier courant. Le reste parle de soi-même (à part peut-être
> l'expression régulière).
> 

Merci pour ton aide. Je vais prendre mes précautions et tester cela et
merci pour tes explications.

Je te dirai le résultats ;-)

nono

-- 
Quand Chuck Norris arrive en boîte, on rebaptise de Carré VIP en "Carré
RIP"

Attachment: signature.asc
Description: This is a digitally signed message part