Scripting

Multiple File Rename

This renames the file extensions :

for fl in *.phps; do
cp $fl $fl.bak
echo $fl `echo $fl |sed s/phps/php/` |xargs -t -n2 mv
#rm -f $fl.bak
done

This removes spaces from names :

for fl in *.* ;do echo \"$fl\" \"`echo $fl | sed s/\ /_/g`\"| xargs -t -n2 mv; done

More advanced with Grouping (in this case to insert an _)

for fl in *.* ;do echo \"$fl\" \"`echo $fl | sed 's/\(.*D1\)\(.*\)/\1_\2/g'`\"| xargs -t -n2 mv ; done

Recursive version (folders and files)

find -name "* *" -type d | perl-rename 's/ /_/g'
find -name "* *" -type f | perl-rename 's/ /_/g'