linux - 获取最新的匹配字符串值
问题描述
我有一个包含两个initial...
关键字值的文件。我想获取匹配initial...
字符串的最新日期。获得日期后,我还需要通过替换来格式化/
日期-
---other data
INFO | abc 1 | 2018/01/04 20:04:35 | initial...
INFO | abc 1 | 2018/02/05 17:01:42 | INFO | new| InitialLauncher | c.t.s.s.setup.launch | initial...
---other data
在上面的例子中,我的输出应该是2018-02-05
. 在这里,我正在获取包含initial...
值的行,并且只获取具有最新日期值的行。然后,我需要去掉剩余的字符串并只获取日期值。
我正在使用以下内容grep
,但尚未达到要求。
grep -q -iF "initial..." /tmp/file.log
解决方案
像这样的东西......
$ awk -F'|' '$NF~/initial\.\.\./ {if(max<$3) max=$3}
END {gsub("/","-",max);
split(max,dt," "); print dt[1]}' file
推荐阅读
- r - 如何使用ggmap(R)绘制不同的颜色(基于条件)?
- python - 如何使用 sys.args[] 或 getopts 通过 Python 运行对齐命令
- python - 在 pandas python 中处理时间对象
- c# - 如何使用 unityads 创建多个奖励视频按钮
- reactjs - 保护 API 不受其他 Web 应用程序的影响
- javascript - React Router 路径变量也与其他路径,React 无法区分
- acumatica - 尝试将 usr 字段从 PMTask 汇总到 PMProject 时,SumCalc 属性不起作用
- javascript - 对价格和商品名称进行分组的正则表达式
- c - 正确的clang-tidy UndefinedBinaryOperatorResult
- python - 在 Python 中暂停主线程