- 论坛徽章:
- 0
|
本帖最后由 zerostudy 于 2014-07-04 16:30 编辑
下面用printf控制位置,请问有没有方法加粗当天的日期。和cal的一样效果。- [root@oracle /]# awk '
- > BEGIN{
- > str="31,28,31,30,31,30,31,31,30,31,30,31";split(str,day,",");
- > split(strftime("%Y,%m",systime()),ym,",");year=int(ym[1]);mon=int(ym[2]);
- > #year=2013;mon=02;
- > if(year%400==0||year%100!=0&&year%4==0)day[2]="29";
- > printf("%5s%5s%5s%5s%5s%5s%5s\n","Sun","Mon"," Tue","Wed","Thu" ,"Fri" ,"Sat");
- >
- > for(i=1;i<=int(day[mon]);i++)
- > {
- > d=i<10?"0"i:i;
- > m=mon<10?"0"mon:mon;
- > x=strftime("%w",mktime(year" "m" "d" 00 00 00"));
- > g=(x+1)*5;
- > #printf("%"g"s",d)
- > if(i==1){
- > printf("%"g"s",d);
- > }else{
- > if(g==35)
- > {
- > printf("%5s\n",d);
- > }else{
- > printf("%5s",d);
- > }
- > }
- >
- > }
- >
- > print("");
- > }
- >
- > '
- Sun Mon Tue Wed Thu Fri Sat
- 01 02 03 04 05
- 06 07 08 09 10 11 12
- 13 14 15 16 17 18 19
- 20 21 22 23 24 25 26
- 27 28 29 30 31
复制代码 |
|