读书人

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

发布时间: 2013-01-17 10:28:54 作者: rapoo

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.

读书人网 >UNIXLINUX

热点推荐