On Mon, Feb 16, 2009 at 5:33 PM, Dennis Kibbe <denn...@sdf.lonestar.org> wrote:
> Can someone suggest a way to rename a directory of files like this:
>
> ccna.pod1.pc1.ext is renamed to ccna.pod2.pc1.ext
> ccna.pod2.pc1.ext is renamed to ccna.pod3.pc1.ext
>
> and so on.
>
> (Aside: Hans, if I were able to take your scripting class I won't be asking 
> this now. :-)
>
> Dennisk

A quick Perl solution.

#!/usr/bin/perl -w

use strict;

my $indir = '/path-to/the-files';

opendir(DIRECTORY, $indir) || die "Could not open $indir - $!\n";
my @files = grep /\.ext$/, readdir(DIRECTORY);
closedir(DIRECTORY);
@files = reverse(sort(@files));
foreach my $oldfilename (@files) {
    if ($oldfilename =~ /^ccna.pod(\d+)/) {
        my $sequence = $1 + 1;
        my $newfilename = 'ccna.pod' . $sequence .'.pc1.ext';
        rename($oldfilename, $newfilename) || die "Could not rename
$oldfilename to $newfilename - $!\n";
    }
}

Kevin.
---------------------------------------------------
PLUG-discuss mailing list - PLUG-discuss@lists.plug.phoenix.az.us
To subscribe, unsubscribe, or to change your mail settings:
http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss

Reply via email to