From 14dd9b5b8c2157a793ffafba6bfb3072310f9ddf Mon Sep 17 00:00:00 2001 From: Francois Fleuret Date: Fri, 22 Jul 2011 11:37:30 +0200 Subject: [PATCH] Initial commit. --- mvdatedir.sh | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 mvdatedir.sh diff --git a/mvdatedir.sh b/mvdatedir.sh new file mode 100755 index 0000000..1b7d789 --- /dev/null +++ b/mvdatedir.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +######################################################################### +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the version 3 of the GNU General Public License # +# as published by the Free Software Foundation. # +# # +# This program is distributed in the hope that it will be useful, but # +# WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # +# General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +# Written by and Copyright (C) Francois Fleuret # +# Contact for comments & bug reports # +######################################################################### + +# This script moves all the files specified as argument to directories +# of the form YEAR/MONTH, according to the files modification +# dates. The directories are created if necessary. + +set -e + +while [[ "$1" ]]; do + if [[ -f "$1" ]]; then + dir=$(date -r "$1" +%Y/%b) + mkdir -p ${dir} + mv "$1" ${dir} + shift + else + echo "Ignore: $1 is not a regular file." + fi +done -- 2.39.5