我跟线大日志文件切片关键字文件
[2016-06-03T10:03:12] No data: TW.WA2
,
[2016-06-03T11:03:02] wrong overlaps: XW.W12.HHZ.2007.289
和
[2016-06-03T14:05:26] failed to correct YP.CT02.HHZ.2012.334 because No matching response.
每行包括时间戳,一记录的原因以及由点连接的一些关键字组成的关键字(TW.WA2
,在以上例子中为210和YP.CT02.HHZ.2012.334
)。
特定类型关键字的格式是固定的(子字符串通过固定数量的点连接)。子字符串由字母和数字组成(0-5个字符,但不是所有子字符串都可以是空的,通常最多只有一个,例如XW.WTA12..2007.289
)。子字符串由字母和数字组成(0-5个字符,但不是所有子字符串都可以是空的,通常最多只有一个,例如XW.WTA12..2007.289
)。
我想
提取的关键字
保存uniqued到分隔的文件
目前我尝试grep
不同类型的关键字,但只分级完成。
grep "wrong overlaps" logfile > wrong_overlaps
grep "failed to correct" logfile > no_resp
grep "No data" logfile > no_data
在no_data
,其内容被期待作为像
AW.AA1
TW.WA2
TW.WA3
...
在no_resp
,内容被期待作为像
XP..HHZ.2002.334
YP.CT01.HHZ.2012.330
YP.CT02.HHZ.2012.334
...
然而,简单grep
以上命令保存完整的行。我想我需要正则表达式来提取关键字?
您究竟如何区分这种模式?考虑发布更多示例输入和输出.. – sjsam
@shellter我对如何提取没有太多想法。我不是故意要求提供完整的代码,而是要提出如何实现的建议。例如,简单地完成它的最佳命令是什么? – Lee
好的,很好的更新,但在我撤销我的近距离投票之前,请同时更新您的Q和期望的输出。实际的样本输出而不是口头描述消除了指定修复的一整类错误。祝你好运。 – shellter