Reorganize script

This script takes one parameter, the directory to where your pictures (or files) resides. It then creates a directory with the name of the creation date and move the picture/file into it. The directory name is in this format: YYYY-MM-DD

#!/bin/bash

for i in $(ls $1); do
	CREATEDATE=$1/`date -r $1/$i +%F`
	SRC=$1/$i
	if [ -d $CREATEDATE ]; then
		mv $SRC $CREATEDATE
	else
		mkdir $CREATEDATE
		mv $SRC $CREATEDATE
	fi
done

This can be used to organize pictures into a folder structure easily used by a gallery (that's at least what I'm using it for).

Hope you like it.

Update: If you want to use underscore as separators in the directory names use this edition instead:

#!/bin/bash

for i in $(ls $1); do
	CREATEDATE=$1/`date -r $1/$i +%Y_%m_%d`
	SRC=$1/$i
	if [ -d $CREATEDATE ]; then
		mv $SRC $CREATEDATE
	else
		mkdir $CREATEDATE
		mv $SRC $CREATEDATE
	fi
done

By changing the date command (see man pages) you can make a naming layout that suite you best. Just change the parameters after the ”+” sign.

Update #2:

If you have a bunch of jpg files and you've lost their creation date you can extract it from an exif tag (if it is set by the camera, wich they usually are). This script will do just that. Note however that it is ONLY jpg files:

#!/bin/bash

for i in $(ls $1); do
	CREATEDATE=$1/`exiftool -d %Y_%m_%d -CreateDate $1/$i |cut -d: -f2|  sed -e 's/^[ \t]*//'`
	SRC=$1/$i
	if [ -d $CREATEDATE ]; then
		mv $SRC $CREATEDATE
	else
		mkdir $CREATEDATE
		mv $SRC $CREATEDATE
	fi
done
 
indexes/move_pictures_by_date.txt · Last modified: 2009/08/20 18:35 by domingo
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki