Chinaunix
标题:
awk格式化时间
[打印本页]
作者:
reb00t
时间:
2015-07-07 17:22
标题:
awk格式化时间
日志文本
Jul 7 16:45:01 a ....
Jul 7 16:45:05 b ...
Jul 7 16:45:13 c ....
Jul 7 16:45:21 d ...
转换成
2015-07-07 16:45:01
2015-07-07 16:45:05
2015-07-07 16:45:13
2015-07-07 16:45:21
awk求方法
作者:
reyleon
时间:
2015-07-07 17:26
重启老师, 你居然发帖, 是几个意思?
作者:
expert1
时间:
2015-07-07 17:28
不知道date能否转换成那个格式?
可以的话awk 然后system 一下。
作者:
expert1
时间:
2015-07-07 17:30
或者awk BEGIN部分定义个数组jun=07
给个例子
http://blog.chinaunix.net/uid-20778583-id-34042.html
作者:
reb00t
时间:
2015-07-07 17:37
本帖最后由 reb00t 于 2015-07-07 17:38 编辑
awk 'function ff(t){"date +%s -d \""t"\""|getline ft;return strftime("%F %T",ft)}{t=sprintf("%s %s %s", $1,$2,$3);print ff(t)}
复制代码
大致写了下,感觉一个简单的时间格式化,是不是整复杂了。
作者:
reyleon
时间:
2015-07-07 17:42
回复
5#
reb00t
妈蛋, 既然都调用date了, 直接打印啊
awk '{NF=3;cmd="date -d \""$0"\" \"+%F %T\"";cmd|getline dt;print dt;close(cmd)}' file
复制代码
作者:
reb00t
时间:
2015-07-07 17:45
回复
6#
reyleon
擦,六子老师牛逼,
作者:
reyleon
时间:
2015-07-07 17:50
回复
7#
reb00t
擦, 充气老师好挫
作者:
reyleon
时间:
2015-07-07 18:03
awk -v y=2015 '{
a["Jan"]=01;
a["Feb"]=02;
a["Mar"]=03;
a["Apr"]=04;
a["May"]=05;
a["Jun"]=06;
a["Jul"]=07;
a["Aug"]=08;
a["Sep"]=09;
a["Oct"]=10;
a["Nov"]=11;
a["Dec"]=12;
split($3,b,":")
print strftime("%F %T", mktime(y" "a[$1]" "$2" "b[1]" "b[2]" "b[3]))
}' file
复制代码
重启老师, 这个速度快
作者:
reb00t
时间:
2015-07-07 18:10
回复
9#
reyleon
六子老师请收下菜鸟的膝盖~
作者:
关阴月飞
时间:
2015-07-07 19:02
楼上一对好基友,
基光四射!!!!!1
作者:
songyc_2015
时间:
2015-07-07 19:36
楼上两位大神在公开调(出)戏(柜),不忍直视
作者:
刺客阿地
时间:
2015-07-08 11:32
好基友调情中。。。
作者:
聆雨淋夜
时间:
2015-07-08 17:56
awk '{system("echo "$1" "$2" "$3"|date -f - +\"%Y-%m-%d %H:%M:%S\"")}' file
2015-07-07 16:45:01
2015-07-07 16:45:05
2015-07-07 16:45:13
2015-07-07 16:45:21
我是不是写的很麻烦啊,重启老师。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2