免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2302 | 回复: 9
打印 上一主题 下一主题

[文本处理] 求助:如何实现时间处理 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-07-18 03:10 |只看该作者 |倒序浏览
比如说输入三个参数 第一个是日期 第二个是星期 第三个是年份,如何计算这个日期在这个星期在这个年份中存在于哪些月份中。
例如20号是星期五的在2014年中这样的日期存在于多少个月份中,求高手解答!

论坛徽章:
0
2 [报告]
发表于 2014-07-18 03:54 |只看该作者
把这年的12个月的20号依次输出看是不是星期五?
我是来打@酱油的。

论坛徽章:
1
处女座
日期:2014-09-18 16:18:00
3 [报告]
发表于 2014-07-18 08:22 |只看该作者
回复 2# 用户名注册后不能更改
我觉得没问题啊 穷举嘛

   

论坛徽章:
0
4 [报告]
发表于 2014-07-18 09:10 |只看该作者
回复 2# 用户名注册后不能更改


应没问题
  1. [root@localhost shell]# vi one.sh

  2. #! /bin/sh

  3. if [ $# -ne 3 ];then
  4.         exit
  5. fi

  6. rq=$1
  7. xq=$2
  8. nf=$3


  9. for((i=1;i<=12;i++));do

  10. tmp=$nf"-"$i"-"$rq
  11. num=`date -d  "$tmp" +%w`
  12. if [ $num -eq 5 ];then
  13.    echo $tmp
  14. fi

  15. done

  16. ~
  17. [root@localhost shell]# sh one.sh 20 5 2014
  18. 2014-6-20
  19. [root@localhost shell]#
复制代码

论坛徽章:
36
摩羯座
日期:2013-09-23 16:37:312015年亚洲杯之沙特阿拉伯
日期:2015-04-14 09:10:172015亚冠之柏太阳神
日期:2015-06-25 08:48:212015亚冠之武里南联
日期:2015-07-28 09:01:082015亚冠之莱赫维亚
日期:2015-07-28 15:44:172015亚冠之柏斯波利斯
日期:2015-09-06 14:08:52白银圣斗士
日期:2015-11-25 17:06:2815-16赛季CBA联赛之吉林
日期:2015-12-09 16:59:072016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之辽宁
日期:2016-04-14 09:29:04luobin
日期:2016-06-17 17:46:3615-16赛季CBA联赛之天津
日期:2016-08-16 14:11:01
5 [报告]
发表于 2014-07-18 10:00 |只看该作者
本帖最后由 LikeLx 于 2014-07-18 10:01 编辑
  1. awk 'BEGIN{for(i=0;i++<12;) {if(i<10) i="0"i;cmd="date -d " "\"""2014"i"28""\"" " +%w";cmd|getline s;if(s=="5") print i}}'
复制代码

论坛徽章:
5
未羊
日期:2014-08-04 16:15:21天秤座
日期:2014-08-13 13:52:372015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:112015亚冠之浦和红钻
日期:2015-06-29 15:30:48
6 [报告]
发表于 2014-07-18 10:21 |只看该作者
  1. for i in $(seq 01 12);do cal $i 2014|awk -v day=20 -v month=${i} -v year=2014 '{if($6==day)print month}';done
复制代码

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
7 [报告]
发表于 2014-07-18 10:51 |只看该作者
回复 1# caowenqq17

$ awk -vD=20 -vW=5 -vY=2014 'BEGIN{for(M=1;M<=12;M++){cmd="date -d "Y"-"M"-"D" +%w"; cmd | getline w; if(w==W)print Y,M,D}}'
2014 6 20

论坛徽章:
9
2015亚冠之大阪钢巴
日期:2015-06-04 11:47:30丑牛
日期:2015-01-22 15:49:26巳蛇
日期:2015-01-22 10:11:18巨蟹座
日期:2014-11-20 10:55:03天蝎座
日期:2014-11-16 22:10:26处女座
日期:2014-11-16 11:01:10申猴
日期:2014-09-19 11:12:37双鱼座
日期:2014-07-25 10:09:54程序设计版块每日发帖之星
日期:2015-08-24 06:20:00
8 [报告]
发表于 2014-07-18 11:12 |只看该作者
好多大神呀,膜拜 {:2_172:}

论坛徽章:
0
9 [报告]
发表于 2014-07-18 11:21 |只看该作者
学习。~~~~~~~

论坛徽章:
0
10 [报告]
发表于 2014-07-19 03:23 |只看该作者
谢谢各位高手,学习了!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP