Splunk查询需求:按分隔符拆分字符串并统计前缀值数量
Splunk 查询实现字符串拆分与前缀统计
假设你的目标数据存储在名为target_field的字段中(实际使用时替换为你的字段名),可以通过以下查询完成需求:
# 替换your_base_search为你的基础数据查询(如索引、源类型筛选) your_base_search | rex field=target_field "(?<prefix>[^:]+)::" | stats count by prefix
各部分说明:
rex命令:利用正则表达式从target_field中提取::前的前缀:(?<prefix>[^:]+):创建名为prefix的新字段,匹配所有非冒号字符,直到遇到::终止。field=target_field:指定要处理的目标字段。
stats count by prefix:按提取出的前缀分组,统计每个前缀的出现次数。
如果需要测试查询逻辑,可以用makeresults构造测试数据验证:
| makeresults | eval target_field="abc::12345, xyz::345" | makemv delim=", " target_field | mvexpand target_field | rex field=target_field "(?<prefix>[^:]+)::" | stats count by prefix
这个测试查询会先生成包含目标列表的测试数据,拆分后统计前缀出现次数,最终输出结果为:
| prefix | count |
|---|---|
| abc | 1 |
| xyz | 1 |
内容的提问来源于stack exchange,提问作者Aswathy
相关产品推荐
相关产品推荐

