Dirty Things to do in Perl
Categories: [ IT ]
I just wanted to rename a bunch of files so that the new names are numbers
like 1, 2, 3, 4… I could have written a short script doing that, but I
wanted to see if rename was able to do it. Well, this works:
rename 's/.*/sprintf "Image-%02d.png", ++$main::i/e' *.png
(The original story is much worse: I wrote main::$i which of course did not
work, so I took a look at the rename script, and noticed that I could use a
variable which is already defined. I chose $verbose, which is initialized to
0 normally, but to 1 when the -n option is in use, hence the need to write
++$verbose when used with -n or -v and $verbose++ otherwise. Then I
wrote this story about it, and only after that I noticed my mistake…)
[ Posted on September 17th, 2006 at 01:08 | no comment | permanent link ]



