Splunk Search

Convert multi-value expression to field names and values

rharrisssi
Path Finder

I have a string,

"one:isone,two:istwo,three:isthree"

The goal is to convert these to fields and values, without knowing what will be in the string. Basically the following, but automagic.

| eval one="isone"
| eval two="istwo"
...
0 Karma

micahkemp
Champion

Splunk enables this type of behavior with the _KEY_1 and _VAL_1 syntax:

in transforms.conf:

[colon_comma_separated]
REGEX = (?<_KEY_1>[^:]+):(?<_VAL_1>[^,]+)

in props.conf:

[<sourcetype>]
REPORT-colon_comma_separated

From the transforms.conf doc:

  * If the REGEX extracts both the field name and its corresponding field
    value, you can use the following special capturing groups if you want to
    skip specifying the mapping in FORMAT:
      _KEY_<string>, _VAL_<string>.
  * For example, the following are equivalent:
    * Using FORMAT:
      * REGEX  = ([a-z]+)=([a-z]+)
      * FORMAT = $1::$2
    * Without using FORMAT
      * REGEX  = (?<_KEY_1>[a-z]+)=(?<_VAL_1>[a-z]+)
    * When using either of the above formats, in a search-time extraction,
      the regex will continue to match against the source text, extracting
      as many fields as can be identified in the source text.
0 Karma
Get Updates on the Splunk Community!

.conf24 | Registration Open!

Hello, hello! I come bearing good news: Registration for .conf24 is now open!   conf is Splunk’s rad annual ...

ICYMI - Check out the latest releases of Splunk Edge Processor

Splunk is pleased to announce the latest enhancements to Splunk Edge Processor.  HEC Receiver authorization ...

Introducing the 2024 SplunkTrust!

Hello, Splunk Community! We are beyond thrilled to announce our newest group of SplunkTrust members!  The ...