Home > Software Development > How to rename files with bash

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

Categories: Software Development Tags: , , ,
  1. August 22nd, 2006 at 15:17 | #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! :)

  2. August 23rd, 2006 at 09:29 | #2

    Thanks, there is a more than one way to do it :)

  1. No trackbacks yet.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes