Splunk Search

How to rex multiple lines

garujoey
Engager

Hi there,

I am a newbie in Splunk and trying to do some search using the rex.

The log body is like:

blah blah
Dest : aaa
blah blah
Dest: bbb
blah blah
Dest: ccc

I searched online and used some command like ' rex field=_raw "(?s)Dest : (?.*)" ' or (?smi), but it wasn't what I wanted.

I need the output to only get the table like
aaa
bbb
ccc

Is there any way to do that?

Thank you very much in advance!
:)

Tags (1)
0 Karma
1 Solution

woodcock
Esteemed Legend

Like this:

| rex max_match=0 "(?ms)\s+Dest:\s+(?<Dest>\S+)"
| stats values(Dest) AS Dests

View solution in original post

davey1985
Explorer

To get it into a table on its own it would be:

| rex "Dest:\s+(?<Data>.*)"
| table Data
0 Karma

jimodonald
Contributor

Try this:

|  rex field=_raw "Dest\s*:\s(?P<myfield>.*)"
0 Karma

woodcock
Esteemed Legend

Like this:

| rex max_match=0 "(?ms)\s+Dest:\s+(?<Dest>\S+)"
| stats values(Dest) AS Dests

davey1985
Explorer

+1 i misinterpretted. max_match=0 would get multiple results

0 Karma

garujoey
Engager

Thanks woodcock, I used "| rex max_match=0 field=_raw "(?)Dest : (?.*)" | table path" in the end, but your suggestion to use "max_match=0" really helps!

0 Karma

woodcock
Esteemed Legend

That is the whole point, is it not?

0 Karma
Get Updates on the Splunk Community!

Building Reliable Asset and Identity Frameworks in Splunk ES

 Accurate asset and identity resolution is the backbone of security operations. Without it, alerts are ...

Cloud Monitoring Console - Unlocking Greater Visibility in SVC Usage Reporting

For Splunk Cloud customers, understanding and optimizing Splunk Virtual Compute (SVC) usage and resource ...

Automatic Discovery Part 3: Practical Use Cases

If you’ve enabled Automatic Discovery in your install of the Splunk Distribution of the OpenTelemetry ...