我有以下命令从文件中返回日期
tail -1 MyFile | awk -F ',' '{print $7}'
返回日期,如04/16/12 20:44:19
我想通过将{7}投入date -d $7 +%s
答案 0 :(得分:3)
我认为awk
对于这项工作来说有点沉重,cut
可能会轻一点:
tail -1 MyFile | date -d "`cut -d, -f7`" +%s
但当然你也可以使用awk
:
tail -1 MyFile | date -d "`awk -F, '{ print $7 }'`" +%s
答案 1 :(得分: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])
}'