当前位置: 技术问答>linux和unix
awk中将字符串转化为时间戳的办法
来源: 互联网 发布时间:2017-03-22
本文导语: 我的文件test.txt是中内容是: aaa,bb,03/12/2012:02:11:13,dd ...... 现在我想把文件转化成 aaa,bb,03/12/2012:02:11:13,dd,20121203021113 ....... 怎么实现?又快? awk中有 strftime("%Y%m%d",timestmp), 但我怎么不知道如何将在文件中将03/12/20...
我的文件test.txt是中内容是:
aaa,bb,03/12/2012:02:11:13,dd
......
现在我想把文件转化成
aaa,bb,03/12/2012:02:11:13,dd,20121203021113
.......
怎么实现?又快?
awk中有 strftime("%Y%m%d",timestmp),
但我怎么不知道如何将在文件中将03/12/2012:02:11:13转化为时间戳?
因为文件是上千万条的,所以只能用awk命令来处理,别的命令会慢的。
|
[root@vps616 shell]# cat main.sh
#!/bin/bash
t=`echo "aaa,bb,03/12/2012:02:11:13,dd" | awk -F',' '{print $3}' | sed 's/:/ /'`
echo `date -d"$t" +"%s"`
[root@vps616 shell]# sh main.sh
1331489473
如果要在awk做, 那就在awk里调system.
|
[nicenight@CSDN ~]$ echo "aaa,bb,03/12/2012:02:11:13,dd" | awk -F"[,/:]" '{print $0","$5$4$3$6$7$8}'
aaa,bb,03/12/2012:02:11:13,dd,20121203021113