一些字符串我有一些线喜欢:我怎样才能提取使用grep和正则表达式
2017-03-10 21:55:57.426 INFO es.sd.phase.kpi.KPIEventNotifier - ID-es2rxsf01v-54870-1489080967572-0-2605574 - KPI1: 52 ms [ValidationPhase:1#TransformationPhase:8#EnrichmentPhase:10#DynamicRouterPhase:4#PoseseadorPhase:29#generateACK:0#EndPhase:0]
grep命令的输出必须表明:
2017-03-10 21:55:57.426 KPI1: 52 ms
我试图agroup都是具有:
tail -F file.log | grep -Po "(.\*INFO).*(KPI1.*ms)"
但obviosly仅显示:
2017-03-10 21:55:57.426 INFO es.sd.phase.kpi.KPIEventNotifier - ID-es2rxsf01v-54870-1489080967572-0-2605574 - KPI1: 52 ms
我们必须避免这种情况的部分:
INFO es.sd.phase.kpi.KPIEventNotifier - ID-es2rxsf01v-54870-1489080967572-0-2605574 -
而且只有这部分表演:
2017-03-10 21:55:57.426 KPI1: 52 ms
感谢 哈维
整个事情只是一条总是以完全相同的方式被格式化的行吗? – klutt
使用awk也许是一个更好的选择。 –
如果是这样,你可以使用cut -f 1,2,9-11 -d“” – klutt