2012-04-16 24 views
0

我有一個從文件AWK日期劃時代

tail -1 MyFile | awk -F ',' '{print $7}' 

返回日期這樣04/16/12 20:44:19

返回的日期下面的命令我想通過某種方式修改awk命令來轉換日期大紀元通過將$ 7成date -d $7 +%s

回答

3

我覺得awk有點重了這份工作,cut也許有點輕:

tail -1 MyFile | date -d "`cut -d, -f7`" +%s 

不過,當然你可以用awk做得一樣好:

tail -1 MyFile | date -d "`awk -F, '{ print $7 }'`" +%s 
+0

曾用切割現在雖然我沒有得到它與awk一起工作。謝謝。 – 2012-04-17 07:49:52

3

GNU AWK內置時間功能:

tail -1 infile | awk -F, '{ 
    split($7, t, /[/: ]+/) 
    t[3] = t[3] > 69 ? 19 t[3] : 20 t[3] 
    print mktime(t[3]" "t[1]" "t[2]" "t[4]" "t[5]" "t[6]) 
    }'