1

如何从SunOS 5.10shell 脚本中的日期字符串中获取像星期五星期四这样的日期名称。用户将以yyyymmdd(20130816) 格式输入日期,然后我必须获取日期名称?

4

1 回答 1

0

要获取周中的天数:

更新- 更完整的脚本:

#!/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

于 2013-08-16T13:18:10.550 回答