我有一个文件,看起来像:
Coding |2010-04-20 12:52|2010-04-20 14:11 Documentation|2010-04-20 22:56|2010-04-21 01:13 Coding |2010-04-21 09:51|2010-04-21 10:58 Coding |2010-04-21 13:11|2010-04-21 14:21
什么是最好的方式 - 我在考虑awk - 做时间计算。 结果我期待:
2010-04-20 Coding 69 2010-04-21 Documentation 137 2010-04-21 Coding 137
这可以用awk完成吗?
答案 0 :(得分:1)
Can this be done with awk?
我不知道你怎么得到这些数字69,137,但你可以使用gawk的mktime(以及其他像strftime等)
awk -F"|" '
{
gsub(/[-:]/," ",$2)
gsub(/[-:]/," ",$3)
m=split($2,s2," ")
n=split($3,s3," ")
t1=mktime(s2[1]" "s2[2]" "s2[3]" "s2[4]" "s2[5]" 0")
t2=mktime(s3[1]" "s3[2]" "s3[3]" "s3[4]" "s3[5]" 0")
print t2-t1
}' file
以上并没有真正解决您的问题,只是一个例子。