just for kicks, in pure bash it would go like this
Code:
for f in *.[mM][pP]3
do
name=${f#*- } # trim leftside *-
name=${name% -*} # trim rightside -*
name=${name// /.} # replace spaces with .
name=${name,,} # lowercase everything
name=${name~} # flip case of first chars
ext=${f##*.} # trim leftside greedy *.
ext=${ext,,} # lowercase everything
mv -- "$f" "$name.$ext"
done
docs about parameter expansion
http://www.gnu.org/software/bash/man...Expansion.html
to prove that these spells work
Code:
$ f='AB - THIS IS A TEST FILENAME - EXTRA INFO NOT NEEDED.EXT'
$ name=${f#*- }; name=${name% -*}; name=${name// /.}; name=${name,,}; name=${name~}
$ ext=${f##*.}; ext=${ext,,}
$ echo $name.$ext
This.Is.A.Test.Filename.ext
Bookmarks