使用bash脚本检查时间戳是否在某个范围内

时间:2010-05-25 13:53:02

标签: linux bash scripting

说我有一堆时间戳

当我迭代这些时间戳时,

01:23:00
12:34:14
17:09:12
...

我想只在08:00:00到17:00:00之间加入时间戳

请建议

1 个答案:

答案 0 :(得分:8)

您可以进行简单的字符串比较:

if [[ "$timestamp" > "08:00:00" && "$timestamp" < "17:00:00" ]]

如果您想要包含范围的结尾,则必须单独测试,因为Bash没有字符串的>=<=运算符:

start="08:00:00"
end="17:00:00"
if [[ "$timestamp" == "$start" ||
      "$timestamp" >  "$start" && "$timestamp" <  "$end" ||
                                  "$timestamp" == "$end" ]]