slitaz-dev-tools annotate baba-scripts/reninc.pl @ rev 155
Added tag 1.5 for changeset 43f3d9f291c6
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Tue Mar 13 09:54:51 2012 +0100 (2012-03-13) |
parents | |
children |
rev | line source |
---|---|
postmaster@96 | 1 #! /usr/bin/perl |
postmaster@96 | 2 #check for help |
postmaster@96 | 3 chomp (my $workdir = `pwd`); |
postmaster@96 | 4 chomp (my $scriptname=`basename "$0"`); |
postmaster@96 | 5 scalar @ARGV > 0 || die <<EOT1; |
postmaster@96 | 6 Usage : $scriptname [-psdn [argument]] directory|here |
postmaster@96 | 7 |
postmaster@96 | 8 Options : |
postmaster@96 | 9 -p prefix |
postmaster@96 | 10 -s suffix |
postmaster@96 | 11 -d starting_base_number |
postmaster@96 | 12 -n length of number part (1: one number, 2: two numbers, etc) |
postmaster@96 | 13 |
postmaster@96 | 14 Parameters : |
postmaster@96 | 15 directory : complete path of directory to process, or "here" for |
postmaster@96 | 16 working directory |
postmaster@96 | 17 ($workdir) |
postmaster@96 | 18 EOT1 |
postmaster@96 | 19 #check arguments |
postmaster@96 | 20 my ($pref, $suff, $start, $num_length) = ('', '', 1, 1); |
postmaster@96 | 21 while (scalar @ARGV > 0) |
postmaster@96 | 22 { |
postmaster@96 | 23 my $arg = shift @ARGV; |
postmaster@96 | 24 if ($arg eq "-p") { $pref = shift @ARGV; next; } |
postmaster@96 | 25 elsif ($arg eq "-s") { $suff = shift @ARGV; next; } |
postmaster@96 | 26 elsif ($arg eq "-d") { $start = shift @ARGV; next; } |
postmaster@96 | 27 elsif ($arg eq "-n") { $num_length = shift(@ARGV) - 1; next; } |
postmaster@96 | 28 elsif (-d $arg) { $dir = shift @ARGV; next; } |
postmaster@96 | 29 elsif ($arg eq "here") { $dir = $workdir; next; } |
postmaster@96 | 30 } |
postmaster@96 | 31 #main routine |
postmaster@96 | 32 chdir $dir; |
postmaster@96 | 33 foreach (<*>) |
postmaster@96 | 34 { |
postmaster@96 | 35 my $counter = $start; |
postmaster@96 | 36 my ($purename, $ext) = (m/^(.+?)\.([^\.]+)$/); |
postmaster@96 | 37 for (my $n = 1; $n <= $num_length; $n++) |
postmaster@96 | 38 { |
postmaster@96 | 39 last if ($num_length eq 0); |
postmaster@96 | 40 if ($start < 10**$n) { $counter = '0'.$counter; } |
postmaster@96 | 41 } |
postmaster@96 | 42 $start++; |
postmaster@96 | 43 print "Rename \"$_\" in $pref$counter$suff.$ext\n"; |
postmaster@96 | 44 rename $_, $pref.$counter.$suff.'.'.$ext; |
postmaster@96 | 45 } |