我想从字符串中提取字符串并在字段下使用它

时间:2019-07-23 10:21:05

标签: splunk splunk-query

我想从字符串中提取一个字符串...并在名为source的字段下使用它。

我试着这样写,但没用。

_pressImage(user_id) {
    alert(user_id)
}

例如。

source = / p4products / nemis2 / filehandlerU / encpr1 / log / AAP_ENC_UX_B.az_in_aza_277U_ rp-20190722-054802.log  来源= / p4products / nemis2 / filehandlerU / encpr2 / log / AAP_ENC_UX_B.oh_in_ohf_ed_ph_ld-20190723-034121.log

我要提取字符串\ 从1st开始的AAP_ENC_UX_B.az_in_aza_277U_ rp 和 AAP_ENC_UX_B.oh_in_ohf_ed_ph_ld从第二名开始。

并将其与计数一起放在列源下。

我想要类似...的结果

index = cba_nemis Status: J source = *AAP_ENC_UX_B.* |eval plan=upper
(substr(source,57,2)) |regex source = "AAP_ENC_UX_B.\w+\d+rp"|stats
count by  plan,source

1 个答案:

答案 0 :(得分:0)

您可以使用[rex][1]命令,通过应用正则表达式从现有字段中提取新字段。

...search... 
| rex field=source ".+\/(?<source_v2>[\.\w\s]+)-.+"
| stats count by plan, source_v2

但是要小心:我调用了新字段source_v2,您所要询问的内容将重写现有的source字段,而无需您明确请求。只需在我的代码中将source_v2更改为source,以防万一,请按此。

搜索将这个新的source_v2字段考虑在内。尝试看看这是否是您所需要的。您可以轻松地对其进行调整以获得预期的结果。