erlug
[Top] [All Lists]

Re: [Erlug] come savelog, ma per le directory?

To: ERlug - Lista Pubblica <erlug@xxxxxxxxxxxxxx>
Subject: Re: [Erlug] come savelog, ma per le directory?
From: Maurizio Lemmo - Tannoiser <tannoiser@xxxxxxxxxxx>
Date: Mon, 6 Oct 2008 21:46:43 +0200
* domenica 05 ottobre 2008, alle 22:16, Fabio Muzzi scrive:
> Esiste mica un qualcosa che faccia come savelog, pero` possa processare
> directory al posto di files? Cioe`, mi serve un coso che se eseguo:
> 
> coso directory
> 
> lui mi rinomini "directory" in "directory0" ed eventualmente
> "directory0" in "directory1" eccetera.

uhhmmm, cosi` alla buona:

#!/usr/bin/perl

use strict;
use warnings;
use File::Copy;

my @files = glob "*";

while (<@files>) {
        if (-d $_) {
                my $c = 0;
                my $ok = 0;
                do {
                        if (not -e "$_$c") {
                                move("$_", "$_$c");
                                print "rename $_ => $_$c \n";
                                $ok = 1;
                        } else { 
                                $c++;
                        }
                } until $ok == 1;
        }
}


CAVEATS:

A parte che non e` esattamente "iper testato", produce un risultato di
questo tipo, che puo` come non, essere quello che volevi.

mizio@haziel:/tmp/prova$ ll
total 20
drwxr-xr-x 2 mizio mizio 4096 2008-10-06 20:34 paperino
drwxr-xr-x 2 mizio mizio 4096 2008-10-06 20:34 paperino0
drwxr-xr-x 2 mizio mizio 4096 2008-10-06 20:34 pippo
drwxr-xr-x 2 mizio mizio 4096 2008-10-06 20:34 pluto
-rwxr-xr-x 1 mizio mizio  298 2008-10-06 21:41 prova.pl
mizio@haziel:/tmp/prova$ ./prova.pl 
rename paperino => paperino1 
rename paperino0 => paperino00 
rename pippo => pippo0 
rename pluto => pluto0 
mizio@haziel:/tmp/prova$ ll
total 20
drwxr-xr-x 2 mizio mizio 4096 2008-10-06 20:34 paperino00
drwxr-xr-x 2 mizio mizio 4096 2008-10-06 20:34 paperino1
drwxr-xr-x 2 mizio mizio 4096 2008-10-06 20:34 pippo0
drwxr-xr-x 2 mizio mizio 4096 2008-10-06 20:34 pluto0
-rwxr-xr-x 1 mizio mizio  298 2008-10-06 21:41 prova.pl

se volevi che paperino0 (l'originale) diventi paperino1 e non paperino00
c'e` dell'altro da fare, che non ho voglia. ;)

Nota che lavora solo sulle directory.

-- 
                          Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG http://erlug.linux.it
-------------------------------------------------------------------------------
"If you'd call it a robot.  It's more a sort of electronic sulking
machine." - Arthur.

<Prev in Thread] Current Thread [Next in Thread>