I use a similar script, but it copies all the parts into a folder called notNeeded/ so if anything goes wrong or you've missed a part, you can try again:
Code:
#!/usr/bin/perl
#TODO: Make notNeeded folder if it does not exist
my @FILES;
opendir( DIR, "." );
@FILES = readdir( DIR );
closedir( DIR );
foreach my $filename ( @FILES ) {
if (($name,$num) = ($filename =~ /^(.+)\.00(\d)(:?\.mpg)$/)) {
if ( $#{$story{$name}} < 0 ) {
$story{$name} = [];
}
${$story{$name}}[$num] = $filename;
}
}
foreach my $name ( keys( %story ) ) {
@nums = @{$story{$name}};
$invalid = 0;
$filenameList = '';
for ( $n=1; $n<=$#nums; $n++ ) {
if ( $nums[$n] eq '' ) {
$invalid = 1;
} else {
$filenameList .= ' "'.$nums[$n].'"';
}
}
if ( $invalid != 1 ) {
system "echo \"$name 1 to ".$#nums."\"\n";
system "cat$filenameList > \"$name\"\n";
for ( $n=1; $n<=$#nums; $n++ ) {
system "mv \"$nums[$n]\" notNeeded/\n";
}
}
}