首页 > 解决方案 > 如何仅从多值字段中提取匹配字符串并显示在 SPLUNK 查询的新列中

问题描述

我正在尝试从多值字段中提取匹配的字符串并显示在另一列中。我尝试了各种选项来通过分隔符拆分字段,然后 mvexpand 然后用户 where/search 来提取这些数据。我试图找出是否有更简单的方法可以做到这一点,而无需在 SPLUNK 查询中遇到所有这些麻烦。

示例:假设我有以下多值 column1 字段,其中数据由分隔符逗号分隔

column1 = abc1,test1,test2,abctest1,mail,send,mail2,sendtest2,new,code,results

我正在使用分隔符拆分此列|eval column2=split(column1,","),并使用 regex/where/search 在此列中搜索数据*test*并返回结果,我能够在其中提取结果但 column1 仍然显示所有值abc1,test1,test2,abctest1,mail,send,mail2,sendtest2,new,code,results ,我想要的是修剪 1 column1仅显示匹配的单词test或显示新column2中的那些条目,这些条目应仅显示此单词test1,test2,abctest1,sendtest2,因为它们仅匹配*test*

我会很感激你的帮助,谢谢。

标签: splunksplunk-querysplunk-sdksplunk-formula

解决方案


发布此问题后找到答案,它只是使用退出的 mvfilter 函数来提取匹配结果。

column2=mvfilter(匹配(column1,"test"))


推荐阅读