首页 > 解决方案 > Bash - 从字符串变量中仅提取日期和时间,排除其他周围文本

问题描述

我是 sed 的新手,在这种情况下一直在尝试使用它,但没有运气。

我正在阅读一个日志文件,并将前一行存储到一个变量中,以便在需要时提取日期。

变量字符串示例:

jcl/jclnt.log-[05/06/20 16:42:52.964]:jclnt ST:

我只想要方括号中的日期和时间戳。我想忽略前后的字符。日期和时间格式始终具有相同的长度和格式。我可以用正则表达式匹配它,只是不确定如何将它从变量中提取到一个新变量中,只有方括号内的数据。

我试过这样的事情:priordate= echo "$prior" | awk -F'[][]''{打印 $2}'

但这没有用。

标签: stringbashdatematchextract

解决方案


如果您删除echo.

echo "jcl/jclnt.log-[05/06/20 16:42:52.964]:jclnt ST:" | awk -F'[][]' '{print $2}'
05/06/20 16:42:52.964

然后做出这样的声明:priordate=$(echo ...)


推荐阅读