用shell 或者C 实现

youdefang 2011-06-16 03:48:54
脚本运行后现实:
2011-01-01 00:00:00 //也就是:2011年01月01日的0时0分0分
2011-01-01 01:00:00 //也就是:2011年01月01日的1时0分0分
2011-01-01 02:00:00 //也就是:2011年01月01日的2时0分0分
2011-01-01 03:00:00 //也就是:2011年01月01日的3时0分0分
2011-01-01 04:00:00 //也就是:2011年01月01日的4时0分0分
2011-01-01 05:00:00 //也就是:2011年01月01日的5时0分0分

.........
2011-01-01 23:00:00 //到:2011年01月01日的23时0分0分




如何用shell来完成这个脚本呢,我很苦恼
...全文
114 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
youdefang 2011-06-16
  • 打赏
  • 举报
回复
实现了,太谢谢大哥了.....
youdefang 2011-06-16
  • 打赏
  • 举报
回复
好,我到计算机上试试...........
justkk 2011-06-16
  • 打赏
  • 举报
回复
把它拷贝到记事本中看

for d in `cal $m 2011 | sed -n '3,$ p'`
youdefang 2011-06-16
  • 打赏
  • 举报
回复
for d in `cal $m 2011 | sed -n '3,$ p'` 写的不清楚,符号没看懂
youdefang 2011-06-16
  • 打赏
  • 举报
回复
我试一下哦,谢谢大哥,以后不懂得,我会向你请教的
justkk 2011-06-16
  • 打赏
  • 举报
回复
for m in `seq 1 12`
do
for d in `cal $m 2011 | sed -n '3,$ p'`
do
for h in `seq 0 23`
do
printf "2011-%02d-%02d %02d:00:00\n" $m $d $h
done
done
done
youdefang 2011-06-16
  • 打赏
  • 举报
回复
一直递增到2011-12-30 23:00:00
有的月份可能不到30天,比如2月等等,所以可以把每个月当28天来算,
一直循环到:2011-12-30 23:00:00
2011-01-01 00:00:00
2011-01-01 01:00:00
......
2011-01-01 23:00:00 这正好一天(24小时)

2011-01-02 00:00:00
2011-01-02 01:00:00
2011-01-02 02:00:00 这是第二天(24小时)

2011-01-03 00:00:00
2011-01-03 01:00:00
2011-01-03 02:00:00 这是第三天(24小时)

........一直到....


2011-12-30 00:00:00
2011-12-30 01:00:00
2011-12-30 02:00:00 一直到这里

希望大哥能明白,不胜感谢.....

youdefang 2011-06-16
  • 打赏
  • 举报
回复
一直递增到2011-12-30 23:00:00
有的月份可能不到30天,比如2月等等,所以可以把每个月当28天来算,
一直循环到:2011-12-30 23:00:00 位置,,
明白吗?
justkk 2011-06-16
  • 打赏
  • 举报
回复
最后一直到
2011-12-30 01:00:00

是12-30 ??
youdefang 2011-06-16
  • 打赏
  • 举报
回复
是不是嵌套个循环就可以了,,望各位大哥赐教
youdefang 2011-06-16
  • 打赏
  • 举报
回复
我知道的,但是,这个只是实现了一天的,我还想实现第二天的(2011-01-02)的,,
2011-01-01 00:00:00 //也就是:2011年01月01日的0时0分0分
2011-01-01 01:00:00 //也就是:2011年01月01日的1时0分0分
2011-01-01 02:00:00 //也就是:2011年01月01日的2时0分0分
2011-01-01 03:00:00 //也就是:2011年01月01日的3时0分0分
2011-01-01 04:00:00 //也就是:2011年01月01日的4时0分0分
2011-01-01 05:00:00 //也就是:2011年01月01日的5时0分0分

.........

2011-02-01 01:00:00 //也就是:2011年02月01日的1时0分0分
2011-02-01 02:00:00 //也就是:2011年02月01日的2时0分0分
2011-02-01 03:00:00 //也就是:2011年02月01日的3时0分0分
2011-02-01 04:00:00 //也就是:2011年02月01日的4时0分0分
2011-02-01 05:00:00 //也就是:2011年02月01日的5时0分0分
....
...
2011-02-01 23:00:00 //也就是:2011年02月01日的5时0分0分

最后一直到
2011-12-30 01:00:00
2011-12-30 02:00:00
2011-12-30 03:00:00
2011-12-30 04:00:00



justkk 2011-06-16
  • 打赏
  • 举报
回复
for n in `seq 1 23`
do
printf "2011-01-01 %02d:00:00\n" $n
done
justkk 2011-06-16
  • 打赏
  • 举报
回复
不是有一个帖子了吗..

2,161

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 UNIX文化
社区管理员
  • UNIX文化社区
  • 文天大人
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧