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

Published by

Michael Stepanov

Site owner and admin :)

2 thoughts on “How to rename files with bash”

  1. 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! 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *