Чтобы получить номер дня в неделю:
Update - более полный сценарий:
#!/bin/ksh
date="$1"
DAYMAP="0,SUNDAY\n1,MONDAY\n2,TUESDAY\n3,WEDNESDAY\n4,THURSDAY\n5,FRIDAY\n6,SATURDAY"
eval $(echo "${date}" | nawk -F- '{printf("year=%s month=%s day=%s\n", $1, $2, $3)}')
DAY=`cal "${month}" "${year}" | nawk -v day="${day}" '
FNR > 2 {
for(i=1; i <= NF; i++)
if ($i == day) {
#printf("day->[%d] row->[%d]\n", $i, FNR-2)
printf("%d\n", (NF == 7 || FNR!=3) ? i-1 : i+(6-NF))
exit
}
}
'`
echo $DAYMAP | grep $DAY | cut -f2 -d','
Затем использовать карту, чтобы напечатать полное название дня. Воскресенье 0.
ввода в формате: 2013-08-16
я не имею SunOS прямо сейчас, но вы можете попробовать, если это работает для вас? 'date -d" 20130816 "+% A' – Kent
@Kent К сожалению, опция -d не работает в SunOS 5.10 :( – dvai