我有以下命令从文件中返回日期
tail -1 MyFile | awk -F ',' '{print $7}'
像这样返回日期04/16/12 20:44:19
我想通过以某种方式修改 awk 命令来将该日期转换为纪元时间,方法是将 $7 输入date -d $7 +%s
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])
}'
我认为awk
这份工作有点重,cut
也许有点轻:
tail -1 MyFile | date -d "`cut -d, -f7`" +%s
但当然你也可以这样做awk
:
tail -1 MyFile | date -d "`awk -F, '{ print $7 }'`" +%s