Splunk Search

Use Subsearch to insert commands

duesser
Path Finder

Hello,

I would like to use a subsearch to literally paste a command into the SPL e.g.:

 

 

| makeresults
[| makeresults
| eval test="|eval t1 = \"hello\""
| return $test]

 

 

and for it to be equivalent to

 

 

| makeresults
| eval t1 = "hello"

 

 

 

Is this possible?

Labels (1)
0 Karma
1 Solution

PickleRick
SplunkTrust
SplunkTrust

I should expect not.

PickleRick_0-1698313276886.png

 

View solution in original post

PickleRick
SplunkTrust
SplunkTrust

Do a quick test:

[ | makeresults | eval search="| makeresults" ]

If you look into the job log you'll see that while the internal search will get expanded to

Expanded index search = ([ | makeresults | eval search="| makeresults" ])

After the subsearch is evaluated and the result is returned to the outer search it will be treated as a string, with the pipe control character escaped

Expanded index search = (\| makeresults)

Which means that you will be searching for literal pipe character and "makeresults" word.

duesser
Path Finder

Yes I have seen this exactly. But is it possible to work around this in any way?

0 Karma

PickleRick
SplunkTrust
SplunkTrust

I should expect not.

PickleRick_0-1698313276886.png

 

duesser
Path Finder

I know that I can do

index=abc
         [
            | makeresults
            | addinfo
            | eval filter_t="earliest=".(info_min_time-60)." latest=".info_max_time
            | return filter_t
         ]

which literally becomes 

index=abc earliest=1698301592.0 latest=1698301792.0

 and I would like to use this behavior to dynamically define a command

0 Karma

gcusello
SplunkTrust
SplunkTrust

Hi @duesser,

pleae try this:

index=abc
         [
            | makeresults
            | addinfo
            | eval earliest=relative_time(info_min_time,"-60s"), latest=info_max_time
            | fields earliest latest
         ]

Ciao.

Giuseppe

0 Karma

duesser
Path Finder

I am sorry for the confusion, I updated the original question.

 

The idea is to dynamically create strings of eval commands in a sub search (depending on a lookup e.g.) and then applying these to the base search by literally putting the into the search command. I hope I could clarify this now.

0 Karma

gcusello
SplunkTrust
SplunkTrust

Hi @duesser ,

good for you, see next time!

Ciao and happy splunking

Giuseppe

P.S.: Karma Points are appreciated by all the contributors 😉

0 Karma

gcusello
SplunkTrust
SplunkTrust

HI @duesser,

when you use a subsearch, you run a search on the main search using the output (exactly the fields you have in return or in fields).

What's your requirement?

Ciao.

Giuseppe

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!

Index This | What travels the world but is also stuck in place?

April 2026 Edition  Hayyy Splunk Education Enthusiasts and the Eternally Curious!   We’re back with this ...

Discover New Use Cases: Unlock Greater Value from Your Existing Splunk Data

Realizing the full potential of your Splunk investment requires more than just understanding current usage; it ...

Continue Your Journey: Join Session 2 of the Data Management and Federation Bootcamp ...

As data volumes continue to grow and environments become more distributed, managing and optimizing data ...