string - Bash - 从字符串变量中仅提取日期和时间,排除其他周围文本
问题描述
我是 sed 的新手,在这种情况下一直在尝试使用它,但没有运气。
我正在阅读一个日志文件,并将前一行存储到一个变量中,以便在需要时提取日期。
变量字符串示例:
jcl/jclnt.log-[05/06/20 16:42:52.964]:jclnt ST:
我只想要方括号中的日期和时间戳。我想忽略前后的字符。日期和时间格式始终具有相同的长度和格式。我可以用正则表达式匹配它,只是不确定如何将它从变量中提取到一个新变量中,只有方括号内的数据。
我试过这样的事情:priordate= echo "$prior" | awk -F'[][]''{打印 $2}'
但这没有用。
解决方案
如果您删除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 ...)
推荐阅读
- xml - 通过匹配 XML 标签来复制内容
- javascript - 应用新媒体规则时如何立即更新计算样式?
- python - 将变量传递给 lambda 函数
- javascript - React Native - 以编程方式关闭警报
- java - Maven 阴影插件将文件重定位到主文件夹
- mysql - 从“09 - 10 10 - 11 11 - 12”之类的字符串在mysql中解析/计数
- excel - 如何从众多元素下的div元素中提取文本?
- python - PySpark:减去两个时间戳列并以分钟为单位返回差异(使用 F.datediff 仅返回一整天)
- php - phpmyadmin 在同一查询中给出与 php 不同的结果?
- python - 找到 2 个对象的不同中心