Splunk Search

How to create an INPUTLOOKUP that matches field1 but NOT field2?

mobrienmoore1
New Member

Hello,
I am trying to perform a search against a lookup table that contains 2 columns (RDOMAIN and SDOMAIN). I would like the search to pull back all matching SDOMAINS and anything that does NOT match RDOMAIN.

sourcetype=8*| rex field=rcpt "\S+@(?;RDOMAIN;\S+)"
| rex field=from "\S+@(?;SDOMAIN;\S+)"
| search [inputlookup "MMDomains.csv" | search SDOMAIN=* | search NOT RDOMAIN ]

0 Karma

elliotproebstel
Champion

I read your requirement: "I would like the search to pull back all matching SDOMAINS and anything that does NOT match RDOMAIN" two possible ways:
1. Return all events which match SDOMAINS and all events which do not match RODMAIN
2. Return all events which match SDOMAINS and which do not match RDOMAIN

For the first:

sourcetype=8*
| rex field=rcpt "\S+@(?<RDOMAIN>\S+)" 
| rex field=from "\S+@(?<SDOMAIN>\S+)"
| search 
 [| inputlookup "MMDomains.csv" 
 | fields SDOMAIN ]
OR NOT 
 [| inputlookup "MMDomains.csv" 
 | fields RDOMAIN ]

For the second:

sourcetype=8*
| rex field=rcpt "\S+@(?<RDOMAIN>\S+)" 
| rex field=from "\S+@(?<SDOMAIN>\S+)"
| search 
 [| inputlookup "MMDomains.csv" 
 | fields SDOMAIN ]
NOT 
 [| inputlookup "MMDomains.csv" 
 | fields RDOMAIN ]
0 Karma
Get Updates on the Splunk Community!

Shape the Future of Splunk: Join the Product Research Lab!

Join the Splunk Product Research Lab and connect with us in the Slack channel #product-research-lab to get ...

Auto-Injector for Everything Else: Making OpenTelemetry Truly Universal

You might have seen Splunk’s recent announcement about donating the OpenTelemetry Injector to the ...

[Puzzles] Solve, Learn, Repeat: Character substitutions with Regular Expressions

This challenge was first posted on Slack #puzzles channelFor BORE at .conf23, we had a puzzle question which ...