我正在读取日志文件,检查日志时间顺序。我正在将日志文件读入一个数组,只存储格式正确的时间戳日志行:
MESSAGE_ONE是从文件中读取的行。
Timestamp1 = $(echo“$ MESSAGE_ONE”| cut -c1-20)
Timestamp1date = $(date -d“$ Timestamp1”+%s)此行为格式不正确的行生成错误
我按如下方式处理错误:
如果[“$?” =“1”];然后
继续
否则
将有效的日志行添加到数组
它按我想要的方式工作;我想要做的就是抑制格式错误的日志条目产生的错误。 我试过了
Timestamp1date = $(date -d“$ Timestamp1”+%s)2> / dev / null
但它不起作用。我不希望在cli命令之后使用2> / dev / null来抑制所有错误输出。有人可以帮忙吗?
答案 0 :(得分:1)
重定向应位于子shell内,因此请使用:
Timestamp1date=$(date -d "$Timestamp1" '+%s' 2>/dev/null)