Chinaunix首页 | 论坛 | 博客
  • 博客访问: 239863
  • 博文数量: 19
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 435
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-15 15:40
文章分类

全部博文(19)

文章存档

2011年(1)

2010年(2)

2009年(5)

2008年(11)

我的朋友

分类: LINUX

2008-12-10 14:35:57

 1.perl
 
perl -pe 's/^\d+\.\d+/localtime($&)/e;' 时间文件 
输入  
801281121.112121   iri
12121121212.12111  asda
12212156771212221.12121  gg
 
输出 
Wed May 24 10:05:21 1995   iri
Mon Feb  8 02:06:52 2354  asda
Sun Jul 12 13:10:20 386989812  gg
 
2. awk 
awk '{print strftime("%Y-%m-%d %H:%M:%S",$1),$2}' 时间文件
输入 
801281121.112121   iri
12121121212.12111  asda
12212156771212221.12121  gg
 
输出 
1995-05-24 10:05:801281121 iri
2354-06-08 02:02:12121121212 asda
386989812-10-12 13:07:12212156771212222 gg
 
显然perl的输出更人性化一些,当然awk的格式化输出调整后,也可以得到perl的效果
                                       create day: Wed Dec 10 14:37:07 CST 2008
                                  BY  IORI
                                  stay in  sina 
                                  LastModify : Thu Dec 18 15:37:33 CST 2008
 
备注AWK 时间函数及格式定义
 
 
strftime("%H%M", $time)

awk调时间函数会比shell命令行快,一个是调函数,一个是调命令
%a
星期几的缩写(Sun)
%A
星期几的完整写法(Sunday)
%b
月名的缩写(Oct)
%B
月名的完整写法(October)
%c
本地日期和时间
%d
十进制日期
%D
日期 08/20/99
%e
日期,如果只有一位会补上一个空格
%H
用十进制表示24小时格式的小时
%I
用十进制表示12小时格式的小时
%j
从1月1日起一年中的第几天
%m
十进制表示的月份
%M
十进制表示的分钟
%p
12小时表示法(AM/PM)
%S
十进制表示的秒
%U
十进制表示的一年中的第几个星期(星期天作为一个星期的开始)
%w
十进制表示的星期几(星期天是0)
%W
十进制表示的一年中的第几个星期(星期一作为一个星期的开始)
%x
重新设置本地日期(08/20/99)
%X
重新设置本地时间(12:00:00)
%y
两位数字表示的年(99)
%Y
当前月份
%Z
时区(PDT)
%%
百分号(%)
阅读(1454) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~