Splunk中含空格字段使用coalesce函数的替代方法咨询
Splunk中coalesce函数使用含空格字段的替代方案
先给你说下之前rename方法失效的原因:你原来的代码里eval在rename前面执行,这时候field1和field2还没被重命名出来,coalesce找不到对应字段,自然返回空值。把rename挪到eval前就能修复,但既然要找不用重命名的替代方案,以下两种方法可以直接用:
直接用引号包裹含空格字段:在
coalesce函数里,把带空格的字段名用双引号或单引号包起来,Splunk就能正确识别。示例代码:base search | eval test=coalesce("space field 1", "space field 2") | table "space field 1" "space field 2" test要是字段名里还有特殊字符(比如引号),可以用反斜杠转义,或者交替用单双引号就行。
动态字段引用(小众场景):如果字段名是动态生成的,还可以用
$符号结合字段变量来引用,比如eval test=coalesce($field_name1$, $field_name2$),不过这种情况不多,常规场景用第一种方法就够。
另外提一句:Splunk的eval系列函数里,只要是带空格或特殊字符的字段,都能用引号包裹直接引用,不止coalesce,其他函数也通用。
内容的提问来源于stack exchange,提问作者grizzly
相关产品推荐
相关产品推荐

