#!/usr/local/bin/perl # Usage: rename [files] ($op = shift) || die "Usage: $0 [files]\n"; chomp(@ARGV = ) unless @ARGV; for (@ARGV) { $was = $_; eval $op; die $@ if $@; rename($was,$_) unless $was eq $_; } #### rename 's/\.bak$//' *.abc #### rename '$_ .= ".bak"' * rename 's/$/.bak/' * #### rename 'tr/A-Z/a-z/' * #### rename 's/foo/bar; $_ = $was if -e' *foo* find . -print | rename 's/readme/README/i' find . -print | rename 's/$/.old/ if -M $_ > 0.5' find . -name '*,v' -print | \ rename 's#(.*)/#$1/RCS#, $x{$1}++ || mkdir("$1/RCS", 0777)'