> rename -h Usage: rename [options] -oShellscript:-n ... or: rename [options] = ... Options: -v[erbose]: displays actions -i[nteractive]: asks for confirmation, implies -v -t[est]: don't execute, implies -v, overrides -i -h[elp] > ls * bild.000.jpg bild.001.jpg bild.002.jpg bild.003.jpg bild.004.jpg bild.005.jpg bild.006.jpg bild.007.jpg bild.008.jpg bild.009.jpg bild.010.jpg bild.011.jpg bild.012.jpg bild.013.jpg bild.014.jpg bild.015.jpg bild.016.jpg bild.017.jpg bild.018.jpg bild.019.jpg drehbuch.txt szene1.txt szene2.txt > rename bild=film * > rename -v txt=txt.bak s*.txt mv szene1.txt szene1.txt.bak mv szene2.txt szene2.txt.bak > ls * film.000.jpg film.001.jpg film.002.jpg film.003.jpg film.004.jpg film.005.jpg film.006.jpg film.007.jpg film.008.jpg film.009.jpg film.010.jpg film.011.jpg film.012.jpg film.013.jpg film.014.jpg film.015.jpg film.016.jpg film.017.jpg film.018.jpg film.019.jpg drehbuch.txt szene1.txt.bak szene2.txt.bak
#!/bin/csh # author: Achim Stoesser # Fri Nov 26 15:57:51 MET 1993 set oldtext="" set newtext="" set v=0 set i=0 set y=1 set t=0 while ($#argv > 0) switch ($1) case -*: switch ($1) case -v*: set v=1 breaksw case -i*: set i=1 set v=1 breaksw case -t*: set t=1 set y=0 set v=1 breaksw case -o*: set oldtext=$2 shift argv breaksw case -n*: set newtext=$2 shift argv breaksw case -*: echo "Usage: rename [options] -o-n ..." echo " or: rename [options] = ..." echo "Options:" echo " -v[erbose]: displays actions" echo " -i[nteractive]: asks for confirmation, implies -v" echo " -t[est]: don't execute, implies -v, overrides -i" echo " -h[elp]" exit(1) breaksw endsw breaksw case *=*: set oldtext=`echo $1|sed -e "s/=.*//"` set newtext=`echo $1|sed -e "s/.*=//"` breaksw default: if ($oldtext == "") then echo "Error: oldtext must not be empty" exit(1) endif set newname=`echo $1 | sed -e "s/$oldtext/$newtext/g"` if ($1 != $newname) then if ($v) echo mv $1 $newname if (($t != 1) && ($i)) then echo -n "rename "$1"? " set a=$< switch ($a) case [yY]*: set y=1 breaksw default: set y=0 breaksw endsw endif if ($y) mv -i $1 $newname endif breaksw endsw shift argv end