我尝试取消包含空格的字段的值。显然,很难找到这种情况的正则表达式(即使问题是它是否有可能)。
示例:Log bla message = hello world next = some-value bla
由于Splunk使用空格来确定下一个要开始的字段,这是一个非常大的挑战。
答案 0 :(得分:0)
在splunk中,您可以使用组来查找并识别更长的模式,但只使用其中的一部分来组合这些模式。
模式看起来像。(?Ppatternforfield)。。它可能不是语法正确但它是它的样子。您可以使用提供样本值的提取器为您提供类似的结构。
答案 1 :(得分:0)
| rex field=_raw "message=(?<message>.*?)\s*\w*="
上面将捕获=之后的所有内容,直到在下一个=之前的关键字之前的空格开始。
如果邮件可能是最后一个关键字,那么请使用此...
| rex field=_raw "message=(?<message>.*?)\s*(\w*=|$)"
答案 2 :(得分:0)
您需要用双引号括住,PFB示例:
host="pets" punct=* "Pet name"="BAMBOO"
在上面的搜索命令中,宠物名是由splunk标识的有趣字段