使用AWK在shell中生成日历小程序
最近在学习sed和awk时,发现了一本入门级别的好书:《SoftwareDesign中文版03》。
我们这里的日历程序也是从那里得来,这里强烈推荐希望了解sed和awk的同志们入手本书。
代码段:
#在shell中生成日历
#使用方式
#awk-fthisFile+2017
#awk-fthisFile+2017.10
#awk-fthisFile+2017.10.10
#
functionwhichWeek(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
}
functionprintCalendar(y,m,d,nowWeek,i){
printf("%d%s%d%s\n",y,"年",m,"月")
print"日一二三四五六"
printf("%s",repeat("",((nowWeek+1)%7)*3))
for(i=1;i<=M[m];i++){
if((nowWeek+i)%7!=6){
printf("%2d",i)
}else{
printf("%2d\n",i)
}
}
print"\n"
}
functionrepeat(flag,time,i,str){
for(i=0;i
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。