$ zmv -n '(.)(<->)(.[^.]#)' '$1$(($2+1))$3' # would rename x.0001.y to x.2.y. $ zmv -n '(.0#)(<->)(.[^.]#)' '$1$(($2+1))$3'
$ zmv '*' '${(L)f}'
$ autoload zmv $ ls * 1.c asd.foo bla.foo fnord.foo foo.fnord foo.foo $ c=1 zmv '*.foo' '$((c++)).foo' $ ls * 1.c 1.foo 2.foo 3.foo 4.foo foo.fnord
$ touch {1..20}-file.with.many.dots.txt $ zmv '(.)(.*)' '${1//./ }$2'
$ zmv -n '*' '$f[5,-1]' # NOTE: The "5" is NOT a mistake in writing!
$ zmv -Qv '(**/)(*)(.D)' '$1${(L)2}'
$ autoload -U zmv $ zmv '(???)1(???[1-4].txt)' '${1}2${2}'
$ touch 111111111111111{a-z} $ autoload zmv $ zmv '*' '$f[16,-1]'
$ autload zmv $ zmv -n '(**/)(* *)' '$1${2//( #-## #| ##)/-}'
$ find . -depth -name '* *' -exec bash -c '
shopt -s extglob file=$1 dir=${file%/} name=${file##/} newname=${name//*([ -]) *([ -])/-} mv -i -- "$file" "$Dir/$newname"' {} {} ;
$ autoload zmv $ zmv -n '(**/)(*)' '$1${2//[^A-Za-z0-9._]/_}'
$ autoload zmv $ zmv -n '(**/)(con*)(#qe,file $REPLY | grep "python script",)' '$1$2.py'
$ autoload zmv $ zmv '(**/)(*).(#i)jpg' '$1$2.jpg'
$ find Dir -name '*.[jJ][pP][gG]' -print | while read f
do case $f in *.jpg) ; ) mv "$f" "${f%.}.jpg" ; esac done
$ autoload zmv $ ls filename.001 filename.003 filename.005 filename.007 filename.009 filename.002 filename.004 filename.006 filename.008 filename.010 $ zmv '(filename.)0##(?*)' '$1$2' $ ls filename.1 filename.10 filename.2 filename.3 filename.4 filename.5 filename.6 ...
$ autoload zmv
$ ls *
foo_10.jpg foo_2.jpg foo_3.jpg foo_4.jpg foo_5.jpg foo_6.jpg foo_7.jpg foo_8.jpg foo_9.jpg
$ zmv -fQ 'foo_(<0->).jpg(.nOn)' 'foo_$((
$ autoload zmv $ zmv '(<1->).jpg' '${(l:3::0:)1}.jpg'
$ autoload zmv $ c=1 zmv "${(l:30-4::?:)}*.foo" '$((c++)).foo'
$ autoload zmv $ zmv '* *' '$f:gs/ /_'
$ autoload zmv $ zmv -W '.sh' '.pl'
``D'' is to also rename hidden files (dotfiles))
$ autoload zmv $ zmv -Q '/home/**/*(D-.)' '$f.txt'
$ zmv -Q '/home/**/^?.(D-.)' '$f.txt'
$ autoload zmv $ chars='[][?=+<>;",-]' $ zmv '(**/)()' '$1${2//$~chars/%}'
$ autoload zmv $ zmv -Q "(**/)(')(D)" "$1${2//'/}"
$ autoload zmv $ zmv -fQ 'file([0-9]##).txt(On)' 'file$(($1 + 1)).txt'
$ autoload zmv $ zmv '()' '${(L)1}' # lowercase $ zmv '()' '${(U)1}' # uppercase
$ autoload zmv $ zmv '(*).c' '$1'
$ autoload zmv $ zmv '([a-z])(*).mp3' '${(C)1}$2.mp3'
$ autoload zmv $ zmv -C '(**/)Makefile' '${1}README'
$ autoload zmv $ zmv -Q "(**/)(')(D)" "$1${2//'/}"
$ autoload zmv $ zmv 'pic().jpg' 'pic${(l:4::0:)1}.jpg' $ zmv '(**/)pic().jpg' '$1/pic${(l:4::0:)2}.jpg' # recursively