如何在shell中使用AWK实现一个日历小程序

  介绍

如何在shell中使用AWK实现一个日历小程序?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

代码段:

function  whichWeek (y), m, d, s), {   ,,,s =0   ,,,if  (((y % 4,==, 0),,,, (y % 100, !=, 0)), | |, (y % 400,==, 0)), if  (M [2],==, 28), M [2] + +   ,,,if  (y> 0), s  +=, - y  +, int (y/4),背后,int (y/100), +, int (y/400)   ,,,while (祝辞m  1), s  +=, M (- M)   ,,,return  (s + d) % 7   }      function  printCalendar (y), m, d, nowWeek,, i) {   ,,printf (“% d % s  % d % s \ n",, y,,,年,,,,,“月“)   print 才能“日,一,二,三,四,五,六,“   ,,printf (“% s",,重复(,,,,,((nowWeek + 1) % 7) * 3))   for 才能;(i=1;, i<=M [M];,我+ +),{   ,,,if  ((nowWeek + i), %, 7, !=, 6), {   ,,,,,printf (“% 2 d “,我)   ,,,},{else    ,,,,,printf (“% 2 d  \ n",,我)   ,,,}   ,,}   print 才能“\ n"   }   function 重复(国旗,,,,我,,str) {   for 才能;(i=0;, i<时间;,我+ +),{   ,,,str =, str 旗帜   ,,}      return 才能,str   }   function 选项(选择),{   if 才能;(ARGC 祝辞,1,,,,ARGV[1], ~,美元/^ \ + . */),{   ,,,print 命令行参数个数,,ARGV [1]   ,,,opt =, substr (ARGV [1], 2)   ,,,delete  ARGV [1]   ,,}   return 才能选择   }   BEGIN  {   M[1],才能=31   M[2],才能=28   M[3],才能=31   M[4],才能=30   M[5],才能=31   米才能[6],=,30岁   米才能[7],=31   米才能[8],=31   米才能[9],=,30岁   米才能[10],=31   米才能[11],=,30岁   米才能[12],=31   W才能[0],=,“日”;   W才能[1],=,“一”;   W才能[2],=,“二”;   W才能[3],=,“三”;   W才能[4],=,“四”;   W才能[5],=,“五”;   W才能[6],=,“六”;   分裂才能(选项(),,,,“!”)   时间=nowWeek 才能;whichWeek(日期[1]+ 0,日期[2]+ 0,,日期[3]+ 0)   if 才能;(日期[3],!=,““),{   ,,,print “星期“,W (nowWeek)   ,,},else  if (日期[2],!=,““),{   ,,,printCalendar([1] + 0,日期,日期[2]+ 0,M[日期[2]],nowWeek)   ,,},{else    ,,,for  (j=1;, j<=12;, j + +), {   ,,,,,printCalendar(日期[1]+ 0,j, M[我],whichWeek(日期[1]+ 0,,,,0))   ,,,}   ,,}   }

看完上述内容,你们掌握如何在shell中使用AWK实现一个日历小程序的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

如何在shell中使用AWK实现一个日历小程序