Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tree: f93a55beae
Fetching contributors…

Cannot retrieve contributors at this time

executable file 57 lines (48 sloc) 1.491 kB
#!/bin/sh
# list files last modified in a given month & year.
# License: LGPLv2
# Author:
# http://www.pixelbeat.org/
# Changes:
# V0.1, 08 Jul 2004, Initial release
# V0.2, 04 Oct 2007, Fix reporting for files close to month boundaries
# Fix reporting for current month
# Support reporting of future dates
# Better error checking
if [ "$#" -lt 2 ]; then
echo "Usage: `basename $0` MM YYYY [other find parameters]" >&2
exit 1
fi
set -e #exit early on error
month=$1
year=$2
shift; shift
if [ "$month" = "12" ]; then
next_year=`expr $year + 1`
next_year=`printf "%02d" $next_year` #date requires YY not Y
next_month=1
else
next_year=$year
next_month=`expr $month + 1`
fi
now=`date --utc +%s`
start=`date --date="$year-$month-01 UTC" +%s`
end=`date --date="$next_year-$next_month-01 UTC" +%s`
if [ $start -gt $now ]; then
start=$now
end=""
elif [ $end -gt $now ]; then
end=""
fi
start_days_ago=`expr \( $now - $start \) / 86400`
start_days_ago=`expr $start_days_ago + 1`
if [ "$end" ]; then #faster
end_days_ago=`expr \( $now - $end \) / 86400`
find "$@" -daystart -mtime -$start_days_ago -mtime +$end_days_ago
else
[ `echo -n $month | wc -c` -eq 1 ] && month="0$month"
[ `echo -n $year | wc -c` -eq 2 ] && year="20$year"
find "$@" -daystart -mtime -$start_days_ago -printf "%p\0%Tm-%TY\n" |
LANG=C grep -a "$month-$year$" |
cut -d '' -f1
fi
Jump to Line
Something went wrong with that request. Please try again.