2013-08-16 5 views
1

Как я могу получить имя дня, например, пятница в четверг из строки даты в SunOS 5.10 сценарий оболочки. Пользователь вводит дату в формате yyyymmdd (20130816), тогда мне нужно получить имя дня?Дата от строки даты в SunOS

+0

я не имею SunOS прямо сейчас, но вы можете попробовать, если это работает для вас? 'date -d" 20130816 "+% A' – Kent

+1

@Kent К сожалению, опция -d не работает в SunOS 5.10 :( – dvai

ответ

0

Чтобы получить номер дня в неделю:

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