Chinaunix
标题:
时间戳转换
[打印本页]
作者:
daxuewuhen2014
时间:
2014-03-03 17:14
标题:
时间戳转换
现在日志里有一些时间都是这样的
20140302143011
20140302143011
20140302143237
现在在请把它转换成时间戳
作者:
laliheyi
时间:
2014-03-03 17:17
回复
1#
daxuewuhen2014
你想要哪样的戳呢?
作者:
这个冬天不冷
时间:
2014-03-03 17:36
[root@syh test]# awk '{t=gensub(/(....)(..)(..)(..)(..)(..)/,"\\1 \\2 \\3 \\4 \\5 \\6","g",$0);print t, mktime(t)}' a
2014 03 02 14 30 11 1393741811
2014 03 02 14 30 11 1393741811
2014 03 02 14 32 37 1393741957
[root@syh test]# cat a
20140302143011
20140302143011
20140302143237
[root@syh test]#
复制代码
作者:
yestreenstars
时间:
2014-03-03 17:40
回复
3#
这个冬天不冷
打那么多点不累吗?
$ awk -vFIELDWIDTHS='4 2 2 2 2 2' '{$1=$1;print mktime($0)}' i
1393741811
1393741811
1393741957
复制代码
作者:
这个冬天不冷
时间:
2014-03-03 17:44
回复
4#
yestreenstars
.... 累,向星辰大大学习 :wink:
作者:
jason680
时间:
2014-03-03 17:50
本帖最后由 jason680 于 2014-03-03 17:52 编辑
回复
3#
这个冬天不冷
other way
# awk '{t=gensub(/
(..)
/,"
\\1
","g",$1);
sub(" ","",t)
;print $1"=>"mktime(t)","t}' FILE
20140302143011=>1393741811,2014 03 02 14 30 11
20140302143011=>1393741811,2014 03 02 14 30 11
20140302143237=>1393741957,2014 03 02 14 32 37
作者:
bikkuri
时间:
2014-03-03 17:53
[root@hp8 test]#sed -e 's/\(....\)\(..\)\(..\)\(..\)\(..\)\(..\)/\1-\2-\3 \4:\5:\6/' timelist|while read -r line; do date -d "$line" +%s ; done
1393741811
1393741811
1393741957
[root@hp8 test]#
复制代码
作者:
这个冬天不冷
时间:
2014-03-03 18:06
回复
7#
bikkuri
兄弟,敲这么多点不累么,,
@yestreenstars
作者:
bikkuri
时间:
2014-03-03 19:21
学习了!貌似busybox下的awk不支持FIELDWIDTHS。
root@dbox:/tmp/test# awk '{t=gensub(/(....)(..)(..)(..)(..)(..)/,"\\1 \\2 \\3 \\4 \\5 \\6","g",$0);print t, mktime(t)}' timelist
2014 03 02 14 30 11 1393741811
2014 03 02 14 30 11 1393741811
2014 03 02 14 32 37 1393741957
root@dbox:/tmp/test# awk -vFIELDWIDTHS='4 2 2 2 2 2' '{$1=$1;print mktime($0)}' timelist
-1
-1
-1
root@dbox:/tmp/test# awk '{t=gensub(/(..)/,"\\1 ","g",$1);sub(" ","",t);print $1"=>"mktime(t)","t}' timelist
20140302143011=>1393741811,2014 03 02 14 30 11
20140302143011=>1393741811,2014 03 02 14 30 11
20140302143237=>1393741957,2014 03 02 14 32 37
root@dbox:/tmp/test#
复制代码
作者:
kernel69
时间:
2014-03-03 21:45
perl的点也不少
perl -MTime::Local -lne '/(....)(..)(..)(..)(..)(..)/;print timelocal($6,$5,$4,$3,$2-1,$1-1900)' t
1393741811
1393741811
1393741957
复制代码
回复
1#
daxuewuhen2014
作者:
brian_x
时间:
2018-10-06 19:40
回复
6#
jason680
能解释一下gensub(/
(..)
/,"
\\1
","g",$1);
sub(" ","",t) 这个吗??不太理解原理,感谢
作者:
brian_x
时间:
2018-10-06 19:49
brian_x 发表于 2018-10-06 19:40
回复 6# jason680
能解释一下gensub(/(..)/,"\\1 ","g",$1);sub(" ","",t) 这 ...
已找到答案,感谢
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2