note
l2kashe
<p>Im going to go out on a limb, and make an assumption that files are the only files in said directory, and that 'full' will only occur around the beginning of a line. With that said</p>
<code>
#!/usr/bin/perl
use strict;
my $data = '/path/to/base/dir';
my $multi = '/path/to/multi/full/dir';
my $single = '/path/to/single/full/dir';
opendir(DATA, $data) or die "Cant opendir $data: $!\n";
for ( grep !/^\./, readdir(DATA) ) {
my $in = "$data/$_";
open(IN, $in) or die "Cant open $in: $!\n";
my $count = grep /^(?:\s+|)FULL/, <IN>;
close(IN);
if ( $count >= 2 ) {
rename($in, "$multi/$_")
or (warn "Couldnt move $_ to $multi: $!\n" and next);
} else {
rename($in, "$single/$_")
or (warn "Couldnt move $_ to $single: $!\n" and next);
}
} # END for grep
closedir(DATA);
</code>
<p>
<b>Edit:</b> added test for success on rename :P..
</p>
<div class="pmsig"><div class="pmsig-203780">
<p>use perl;</p>
</div></div>
299834
299842