Scormen, the command
Code:
lastXDay=`cal | awk {"print "'$'"$saveFullMonthOn"} | xargs | /usr/bin/cut -d" " -f5`
only works on certain months because
will only work when the last saturday happens to be the fourth saturday of the month.
Some months like May 2009 had five saturdays.
An alternative to ghostdog74's solution would be
to save this as ~/bin/last_sat
PHP Code:
#!/usr/bin/env python
import sys
import datetime
from dateutil.relativedelta import relativedelta,SA
print (datetime.date(int(sys.argv[1]),int(sys.argv[2]),1)+relativedelta(day=31,weekday=SA(-1))).day
make it executable (of course)
PHP Code:
chmod 755 ~/bin/last_sat
and use it in your script like this:
PHP Code:
lastXDay=$(last_sat 2009 $saveFullMonthOn)
echo $lastXDay
In general, "last_sat YEAR MONTH" will return the day of the last saturday in year YEAR and month MONTH.
Or, as a one-liner:
PHP Code:
lastXDay=$(python -c 'import sys;import datetime;from dateutil.relativedelta import relativedelta,SA;print (datetime.date(int(sys.argv[1]),int(sys.argv[2]),1)+relativedelta(day=31,weekday=SA(-1))).day' 2009 6)
Bookmarks