Splunk Search

How to divide a value from a string into fields?

Luninho
Explorer

I have value in field:

value: 10,5 CC,00136;CY,00004;JE,00004;QK,00004

Where  CC,CY,JE - type message and there are more of them than in example

00136,00004 - number of message

But I need to get table:

TypeCount
CC136
CY4
JE4

 

How can i do it with SPL language?

Labels (3)
0 Karma

johnhuang
Motivator

Assuming the type is always 2 uppercase alphabet characters:

| rex field=value "\s(?<_raw>([A-Z]{2}\,\d{5}\;)+([A-Z]{2}\,\d{5})?)"
| extract kvdelim="," pairdelim=";" 
| transpose | regex column="[A-Z]{2}"
| rename column AS Type "row 1" AS count 
| eval count=tonumber(count)
| table Type count

 

You can substitute with this regex to extract the pattern from your raw data instead of the field value -- test to see which works better. 

| rex "\s(?<_raw>([A-Z]{2}\,\d{5}\;)+([A-Z]{2}\,\d{5})?)"

 

0 Karma

gcusello
SplunkTrust
SplunkTrust

Hi @Luninho,

are the types in fixed positions?

if they are in fixed posiztion (e.g. 1st, 3rd 5th position) or identificable e.g. for a newar char (e.g. ; just before), you can create a regex to extract them, otherwise it's very difficoult.

Cold you share some additional samples?

From the one you shared the only rule I can identify is that there's a comma just after, it always has a two upper char.

If this is correct you could creat a regex like this:

| rex "(\s|;)(?<Type>\w\w),"

that you can test at https://regex101.com/r/GuqZpU/1

Ciao.

Giuseppe

0 Karma
Career Survey
First 500 qualified respondents will receive a $20 gift card! Tell us about your professional Splunk journey.
Get Updates on the Splunk Community!

Tech Talk Recap | Mastering Threat Hunting

Mastering Threat HuntingDive into the world of threat hunting, exploring the key differences between ...

Observability for AI Applications: Troubleshooting Latency

If you’re working with proprietary company data, you’re probably going to have a locally hosted LLM or many ...

Splunk AI Assistant for SPL vs. ChatGPT: Which One is Better?

In the age of AI, every tool promises to make our lives easier. From summarizing content to writing code, ...