Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2072882
  • 博文数量: 470
  • 博客积分: 10206
  • 博客等级: 上将
  • 技术积分: 5620
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-03 12:50
文章分类

全部博文(470)

文章存档

2012年(1)

2011年(18)

2010年(47)

2009年(404)

分类:

2009-04-13 15:47:37

需要两年的日期列表如下:
20080101
20080102
20080103
...
20080228
20080229
20080301
...

一条一条写太费时,而且太长,有没有办法用shell语句来实现,先谢了



您对本贴的看法:
| |
(我在学习,我要进步)
精灵使
打破水锅问到底。




CU编号: 713644
注册:2008-6-3
最后登录: 2009-04-13
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-4-13 11:47 
回复 #1 xinganling 的帖子

用excel拖一下



您对本贴的看法:

__________________________________

C 初学,请多多指教。

| |
  帅哥 (黑哥)
精灵使



CU编号: 631768
注册:2007-10-22
最后登录: 2009-04-13
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-4-13 11:49 
回复 #2 我是DBA 的帖子





您对本贴的看法:

__________________________________

LIVE FREE OR DIE!     K.I.S.S.


| |
(我在学习,我要进步)
精灵使
打破水锅问到底。




CU编号: 713644
注册:2008-6-3
最后登录: 2009-04-13
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-4-13 11:57 
回复 #3 blackold 的帖子

#!/bin/bash

for ((i=1;i<=730;i++))
do
        echo            `date -d "2009/01/01 $i days ago" +%Y%m%d`
done



您对本贴的看法:

__________________________________

C 初学,请多多指教。

| |

骑士




CU编号: 152035
注册:2004-4-16
最后登录: 2009-04-13
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-4-13 11:58 
回复 #2 我是DBA 的帖子

是个办法,不过得在两个系统导,linux或unix 下不能实现吗?



您对本贴的看法:
| |
实习版主
实习版主-大法师


CU奥运火炬传递手2008
CU编号: 214737
注册:2005-1-11
最后登录: 2009-04-13
帖子:
精华:







来自:深圳
状态:...保密...

[] [] [博客]


[]     顶部
发表于 2009-4-13 12:04 


QUOTE:
原帖由 我是DBA 于 2009-4-13 11:47 发表
用excel拖一下

这个方便,可以向下拖还可以拖上拖,也可以向左向右

:mrgreen:

:mrgreen:



您对本贴的看法:

__________________________________



知我者谓我心忧,不知我者谓我何求
| |
  帅哥 (黑哥)
精灵使



CU编号: 631768
注册:2007-10-22
最后登录: 2009-04-13
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-4-13 12:06 
try:

CODE:
for d in 200{8,9}-{01..12}-{01..31};do date -d $d +%Y%m%d;done 2>/dev/null




您对本贴的看法:

__________________________________

LIVE FREE OR DIE!     K.I.S.S.


| |

天使



CU编号: 347943
注册:2005-12-11
最后登录: 2009-04-13
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-4-13 12:10 


CODE:
#!/bin/bash
year=2008
>list
for ((mon=1;mon<=12;mon++))
do
  for day in `cal $mon $year | awk 'NR>2'`
    do  
       printf "%s%02d%02d\n" $year $mon $day >>list
    done
done

[ 本帖最后由 ywlscpl 于 2009-4-13 13:05 编辑 ]



您对本贴的看法:

__________________________________

shell新手&&awk新手
我的awk学习笔记
http://blog.chinaunix.net/u3/91453/showart_1798635.html
| |
  帅哥 (黑哥)
精灵使



CU编号: 631768
注册:2007-10-22
最后登录: 2009-04-13
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-4-13 12:14 
其实,用200{8,9}-{01..12}-{01..31}生成,再手动修改一下,速度比命令还快。

[ 本帖最后由 blackold 于 2009-4-13 12:24 编辑 ]



您对本贴的看法:

__________________________________

LIVE FREE OR DIE!     K.I.S.S.


| |
  帅哥 (黑哥)
精灵使



CU编号: 631768
注册:2007-10-22
最后登录: 2009-04-13
帖子:
精华:0







状态:...离线...

[] [] [博客]
版主   帅哥 (孩儿他爹㊞)
广告杀手-老法王



CU编号: 17255
注册:2002-8-26
最后登录: 2009-04-13
帖子:
精华:







来自:中国南京
状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-4-13 12:58 


CODE:
seq 12|xargs -n1 -i cal {} 2008|
awk '/2008/{m++}
$1+0>0{for (i=1;i<=NF;i++)printf "2008%02s%02s\n",m,$i}'




您对本贴的看法:

__________________________________

=GNU/linux=
GNU {bash 2.05b, grep 2.5, Awk 3.1.3, sed 4.0.8}

导师说:站起来吧
众人说:那么辛苦那么艰苦到底值不值?

设计师说:富起来吧
众人说:拼啦


[]     顶部
发表于 2009-4-13 12:42 
这个比较快:

CODE:
echo 200{8,9}-{01..12}-{01..31}|tr \  '\n'|date -f - +%Y%m%d 2>/dev/null




您对本贴的看法:

__________________________________

LIVE FREE OR DIE!     K.I.S.S.


| |
阅读(533) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~