awk比较24小时数据的时间字段
awk to compare time field for 24 hours data
我有以下测试数据,我已经能够获取当前日期的数据,
如何比较从 00:00:01
到 08:00:00
获取数据的时间?
Test1 prog 02/20/2017 03:45:56 Success
Test2 prog 02/20/2017 05:21:38 Fail
Test3 prog 02/20/2017 09:35:36 Success
Test4 prog 02/19/2017 06:15:56 Fail
Test5 prog 02/18/2017 07:35:16 Active
Test6 prog 02/19/2017 03:45:56 Success
我做到了
a=`date +%m/%d/%Y`
awk -v a="$a" '==a' file
我不知道如何打破第四列,即
是时候比较它的时间范围了。
a=$(date +%m/%d/%Y)
awk -F":| *" -v a="$a" '==a {t=(*60*60 + *60 + ); if(t>=1 && t<=28800) print}' File
使用 :
和 space sequence
作为字段分隔符。在这里,我将时间转换为秒并检查它是否介于(含)1s
和 8hrs
之间。如果是,则打印该行。日期检查作为第一个过滤器完成 (==a
)
awk -v a=`date '+%m/%d/%Y'` ' ~ a"0[0-8]"' file
以上给出了今天日期所需的行。
如果您想要所有这些行,请使用:
awk ' ~ "0[0-8]"' file
注意要根据你的时间范围修改正则表达式(~
后的字符串)
我有以下测试数据,我已经能够获取当前日期的数据,
如何比较从 00:00:01
到 08:00:00
获取数据的时间?
Test1 prog 02/20/2017 03:45:56 Success
Test2 prog 02/20/2017 05:21:38 Fail
Test3 prog 02/20/2017 09:35:36 Success
Test4 prog 02/19/2017 06:15:56 Fail
Test5 prog 02/18/2017 07:35:16 Active
Test6 prog 02/19/2017 03:45:56 Success
我做到了
a=`date +%m/%d/%Y`
awk -v a="$a" '==a' file
我不知道如何打破第四列,即 是时候比较它的时间范围了。
a=$(date +%m/%d/%Y)
awk -F":| *" -v a="$a" '==a {t=(*60*60 + *60 + ); if(t>=1 && t<=28800) print}' File
使用 :
和 space sequence
作为字段分隔符。在这里,我将时间转换为秒并检查它是否介于(含)1s
和 8hrs
之间。如果是,则打印该行。日期检查作为第一个过滤器完成 (==a
)
awk -v a=`date '+%m/%d/%Y'` ' ~ a"0[0-8]"' file
以上给出了今天日期所需的行。
如果您想要所有这些行,请使用:
awk ' ~ "0[0-8]"' file
注意要根据你的时间范围修改正则表达式(~
后的字符串)