更新日時からファイルを検索する

#!/bin/sh
#find_by_date.sh

gnudate=`which gnudate`
[ -z "$gnudate" ] && gnudate="date"

cleanup(){
    [ -n "$start_tmp" ] && rm "$start_tmp"
    [ -n "$end_tmp" ] && rm "$end_tmp"
}

if [ $# -ne 2 ]; then
    echo "Usage: find_by_date.sh dir date"
    exit 1
fi

dir="$1"
start_date=`$gnudate -d "$2" +%Y%m%d`0000
end_date=`$gnudate -d "1 day $2" +%Y%m%d`0000

trap cleanup EXIT
trap exit INT

start_tmp=`mktemp /tmp/fbd.XXXXXXXX` || exit 1
end_tmp=`mktemp /tmp/fbd.XXXXXXXX` || exit 1
touch -t $start_date $start_tmp
touch -t $end_date $end_tmp

find "$dir" -newer $start_tmp -not -newer $end_tmp
$ ./find_by_date.sh . 20100306
./1.text