Splunk Search

ddl bind with rex

Jasmine
Path Finder

In the below query if c= I,  the reg expression is | rex field=attr.namespace "(?<DB>[^\.]*)"
if c= other than "I" then rex would be | rex field=attr.ns "(?<DB>[^\.]*)"

 

index="aaa" (source="/test/log/testing.log")  host IN(host1) c=N
          | rex field=attr.ns "(?<DB>[^\.]*)"
   	 | table  DB| dedup DB

 how can i adjust the query?

Labels (1)
0 Karma
1 Solution

tscroggins
Influencer

Hi @Jasmine,

You can assign the field value to a temporary field first, and then use the rex command to extract the value you want:

index="aaa" (source="/test/log/testing.log") host IN (host1) c=*
| eval DB=if(c=="I", 'attr.namespace', 'attr.ns')
| rex field=DB "(?<DB>[^\.]*)"
| table DB
| dedup DB

View solution in original post

tscroggins
Influencer

Hi @Jasmine,

You can assign the field value to a temporary field first, and then use the rex command to extract the value you want:

index="aaa" (source="/test/log/testing.log") host IN (host1) c=*
| eval DB=if(c=="I", 'attr.namespace', 'attr.ns')
| rex field=DB "(?<DB>[^\.]*)"
| table DB
| dedup DB
Get Updates on the Splunk Community!

BORE at .conf25

Boss Of Regular Expression (BORE) was an interactive session run again this year at .conf25 by the brilliant ...

OpenTelemetry for Legacy Apps? Yes, You Can!

This article is a follow-up to my previous article posted on the OpenTelemetry Blog, "Your Critical Legacy App ...

UCC Framework: Discover Developer Toolkit for Building Technology Add-ons

The Next-Gen Toolkit for Splunk Technology Add-on Development The Universal Configuration Console (UCC) ...