How to rename files with bash
Recently I uploaded a few photos to the my site and I did a mistake in the name: Kirenia intead of Kyrenia. There were ten files but I didn’t want to change their names one by one. Thanks to bash. It offers an easy and elegant way to fix this problem:
for FILE in `find|grep Kirenia`; do TARGET=$(echo $FILE | sed -e "s/Ki/Ky/"); mv $FILE $TARGET; done;
P. S. I alwas forget about structure bash operator for:
for VARIABLE in LIST; do SOME_OPERATIONS ...; done
There are even more elegant ways of doing this.
First,
find
command provides the-exec
switch, which allows you to execute a command (or a list of commands) on each found match.Second, there is a
rename
command, which would make your life much easier in this particular case.Cheers! 🙂
Thanks, there is a more than one way to do it 🙂