关键的观察结果是您可以使用字母数字比较来比较时间戳,并获得正确的答案-这就是ISO
8601表示法的妙处。
因此,稍微修改一下代码-并设置格式以避免滚动条:
awk 'BEGIN { FS = "n" RS = "" OFS = ";" ORS = "n" t1 = "2010-03-23T07:45:00" t2 = "2010-03-23T08:00:00" m1 = "eventTimestamp: " t1 m2 = "eventTimestamp: " t2 } ~ /eventTimestamp:/ && ~ /SMS-MO-FSM(-INFO)?$/ { if ( >= m1 && <= m2) print , , , ;}' "$@"
显然,您可以将其放入脚本文件中-您不想经常键入它。准确,方便地输入日期范围是其中的难点之一。请注意,我已经调整了时间范围以匹配数据。
在样本数据上运行时,它输出一条记录:
eventTimestamp: 2010-03-23T07:56:19.186;result: Allowed;protocol: SMS;payload: SMS-MO-FSM
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)