日期:2014-05-16  浏览次数:20878 次

awk中将字符串转化为时间戳的办法

我的文件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命令来处理,别的命令会慢的。

------解决方案--------------------
[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

------解决方案--------------------
[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.