- 论坛徽章:
- 0
|
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
备注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)
%%
百分号(%)
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/15758/showart_1712512.html |
|