Name: Anonymous 2010-04-15 22:18
Hey, /prog/. Here's a script to autosort your anime into folders. You can thank me later.
#!/usr/bin/perl
use strict;
use warnings;
use File::Copy;
my @files = glob "*.mkv *.avi *.mp4";
foreach (@files) {
my $file = $_;
$_ =~ s/\ /_/g;
print "$file\n";
my @data = ($_ =~ m/^[([^[\]]+)\]([^[\]]+).+$/);
next unless($data[1]);
my $anime = ($data[1] =~ m/^((.*?)\d{2,3})/)[1];
unless($anime) {
$anime = ($data[1] =~ m/^(.+)$/)[0];
}
$anime =~ s/\./_/g;
if ($anime =~ m/\-_$/) {
$anime =~ s/\-_//g;
$anime =~ s/_/\ /g;
$anime =~ s/^\s+//;
$anime =~ s/\s+$//;
} else {
$anime =~ s/_/\ /g;
$anime =~ s/^\s+//;
$anime =~ s/\s+$//;
}
unless (-d $anime) {
next unless(mkdir $anime);
}
move("$file", "$anime/$file");
}
exit 0;
#!/usr/bin/perl
use strict;
use warnings;
use File::Copy;
my @files = glob "*.mkv *.avi *.mp4";
foreach (@files) {
my $file = $_;
$_ =~ s/\ /_/g;
print "$file\n";
my @data = ($_ =~ m/^[([^[\]]+)\]([^[\]]+).+$/);
next unless($data[1]);
my $anime = ($data[1] =~ m/^((.*?)\d{2,3})/)[1];
unless($anime) {
$anime = ($data[1] =~ m/^(.+)$/)[0];
}
$anime =~ s/\./_/g;
if ($anime =~ m/\-_$/) {
$anime =~ s/\-_//g;
$anime =~ s/_/\ /g;
$anime =~ s/^\s+//;
$anime =~ s/\s+$//;
} else {
$anime =~ s/_/\ /g;
$anime =~ s/^\s+//;
$anime =~ s/\s+$//;
}
unless (-d $anime) {
next unless(mkdir $anime);
}
move("$file", "$anime/$file");
}
exit 0;