Splunk Search

How to Capture optional fields?

JohnnyTsunami
New Member

rex command im using:  (?:\w+\s\:\s)(?<command>[^\;]+)?\;\s(?<Datainput>[^\s]+)\s\;\s(?<Extra>[^\s]+)

Data

1) command : TTY-unknown ; data ; ... ;
2) command : Random blurb ; TTY-unknown ; data ; ... ;
3) command : Some other blurb ; TTY-unknown ; data ; ... ;
4) command : TTY-unknown ; data ; ... ;
5) command : TTY-unknown ; data ; ... ;

When I rex this data, what i get is:

  command TTY datainput
1 unknown data ...
2 Random blurb unknown data
3 Some other blurb unknown data
4 unknown data ...
5 unknown data ...

What I want to get is data that doesn't skip the data in 2 and 3, so it would look like this.  How do I accomplish this?

  command TTY datainput
1   unknown data
2 Random blurb unknown data
3 Some other blurb unknown data
4   unknown data
5   unknown data
Labels (1)
Tags (1)
0 Karma

richgalloway
SplunkTrust
SplunkTrust

IME, when fields are optional it is much simpler to use multiple rex commands - one for each optional field, plus one or more others for the static fields.

---
If this reply helps you, Karma would be appreciated.
0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Manage Edge Processor pipelines end to end with APIs

This guide uses the Data Management APIs to create an Edge Processor, onboard one instance, deploy a pipeline ...

Splunk Brings Proof of Control to Digital Asset Transfers

Digital assets now sit inside the core of financial services. HSBC launched its Tokenized Deposit Service in ...

Manage Ingest Processor pipelines end to end with APIs

This guide uses the Data Management APIs to create an Ingest Processor pipeline, deploy it to the ...