【发布时间】:2011-11-29 21:29:24
【问题描述】:
我希望我的日历能够正确处理带有前导零的月份 例如:“cal 01”或“cal 01 2012”
如何编写代码以使我的日历正确处理带有前导零的月份?
这是我目前的代码:
$ cat cal
#cal: nicer interface to /usr/bin/cal
case $# in
0) set 'data';m=$2; y=$6 ;; # no argu: use today
1) m=$1; set 'data'; y=$6 ;; # 1 rg: use this year
*) m=$1; y=$2 ;; # 2 ags: month and year
esac
case $m in
jan*|Jan*) m=1 ;;
feb*|Feb*) m=2 ;;
mar*|Mar*) m=3 ;;
apr*|Apr*) m=4 ;;
may*|May*) m=5 ;;
jun*|Jun*) m=6 ;;
jul*|Jul*) m=7 ;;
aug*|Aug*) m=8 ;;
sep*|Sep*) m=9 ;;
oct*|Oct*) m=10 ;;
nov*|Nov*) m=11 ;;
dec*|Dec*) m=12 ;;
[1-9]|10|11|12) ;; # numeric month
*) y=$m; m="" ;; # plain year
esac
/usr/bin/cal $m $y # run the real one
$
【问题讨论】:
-
您的问题到底是什么?我没有看到有人问。
-
请编辑您的帖子以添加问题或提供更多信息,而不是编写 cmets。谢谢。
-
好吧,我把它放在帖子里了。