OT ? Shell script

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



? wrote:
> How about something like:
> 
> YEAR=2005
> MONTH=12
> for ((DAY=1;DAY<=31;++DAY)); do
>   LC_ALL=C TZ=UTC date -d "$YEAR-$MONTH-$DAY"
> done | grep "^Mon " | head -n 3 | tail -n 1
> 
> Possibly without the TZ=UTC depending on your needs...

A better and faster option is to work out what day of the week the 21st
falls on (e.g. Wednesday, or 4) and count back that value (minus 1 to
count for Sunday):

M=12
Y=2005
echo date +%d -d $Y/$M/$((21-$(($(date +%w -d $Y/$M/21)-1))))

-- 
  Jonathan Wright
   ~ mail@xxxxxxxxxxxx
   ~ www.djnauk.co.uk
--
  2.6.14-gentoo-r2-djnauk-b1 AMD Athlon(tm) XP 2100+
  up 10:41, 4 users, load average: 1.02, 1.06, 0.96
--
  cat /dev/random (because u never know, u may see something u like)
--
  "Be who you are and say what you feel, because those who mind don't
  matter and those who matter don't mind."

                                                          ~ Dr. Seuss

[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]
  Powered by Linux