All Apps and Add-ons

eval wildcard

tenyang
New Member

hi all,

i used eval wildcard to create a new field with below command:

*|eval product=case (match(shop_tags,"pen"), "pen", match(shop_tags,"pencil"), "pencil")

i have many tags under shop_tags, but now i have a new product book, it has two types, i want to create a new name "book_west" if it both match book and west, "book_east" if it match book and east. i am not sure how to deal with if i need match two tags to create a new one,
*|eval product=case (match(shop_tags,"pen"), "pen", match(shop_tags,"pencil"), "pencil",match(shop_tags,"book","west"), "book_west") is not working, could any one help me on this?

thanks a lot.

0 Karma

sundareshr
Legend

You will have to use, what is called a lookarounds in regex. Try this regex for your search "^(?=.*\bbook\b)(?=.*\beast\b).*$". So your search will look like this

.... | eval products = case (match(shop_tags,"^(?=.*\bbook\b)(?=.*\beast\b).*$", "book_east")

This should give you an idea

0 Karma
Get Updates on the Splunk Community!

Aligning Observability Costs with Business Value: Practical Strategies

 Join us for an engaging Tech Talk on Aligning Observability Costs with Business Value: Practical ...

Mastering Data Pipelines: Unlocking Value with Splunk

 In today's AI-driven world, organizations must balance the challenges of managing the explosion of data with ...

Splunk Up Your Game: Why It's Time to Embrace Python 3.9+ and OpenSSL 3.0

Did you know that for Splunk Enterprise 9.4, Python 3.9 is the default interpreter? This shift is not just a ...