* 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.
|