view bin/putend @ 397:f6d29c03142f

Added perl rename from debian system.
author Edho Arief <edho@myconan.net>
date Thu, 09 Aug 2012 17:16:29 +0700
parents 917b525eaee0
children
line wrap: on
line source

#!/usr/bin/env perl

use warnings;
use strict;
use File::Basename;

my @files = @ARGV or print("Usage: ",basename($0)," file1 ... fileN\n") && exit(1);
my $skip=0;
foreach (@files) {
  print(qq(Could not find file "$_", skipping\n)) and next() unless -e $_;
  my $newname = $_;
  $newname =~ s/(\.[^.]+$)/[End]$1/;
  $newname =~ s/ (\[.*\])(\[End\])\./ $2$1./;
  $newname =~ s/([^ ])(\[End\]\.)/$1 $2/;
  print(qq($_: $newname already exists, skipping\n)) and next() if -e $newname and $_ ne $newname;
  if ($_ eq $newname) {
    print("$_: no need to rename, skipping\n");
  } else {
    if($skip==1) { print("Result: $_ --> $newname\n"); }
    else {
      if(rename($_, $newname)) { print("$_ -> $newname\n"); }
      else { print("$_: rename failed\n"); }
    }
  }
  next();
}

exit(0);