Getting Data In

rex syntax to parse source path for a sub-directory name and the file name

vincenty
Explorer

I am trying to parse source path for a sub-directory name and its file name. My source files are as follows:

source=/home/sd1/sd2/sd3/(subdir1)/file1.out
source=/home/sd1/sd2/sd3/(subdir1)/sd4/file2.log
source=/home/sd1/sd2/sd3/(subdir1)/sd4/sd5/file3.out
source=/home/sd1/sd2/sd3/(subdir1)/sd4/sd5/sd6/file4.out

I can't seem to get the syntax correct with the following:

Exception sourcetype=EDGDC2 | rex ".*?(?<exception>(?:\w+\.)+\w*?Exception).*" | rex field=source "(/\w*)+(/\w*)+(/\w*)+(/\w*)+(?<subdir1>(/\w*))+/+(?<fname>(\w*+\.+\w*))+" | stats count by exception, subdir1

The above rex will always get the last sub-directory where the file is. Tried several different variation but the above is the closest I get...

Tags (3)
0 Karma

kristian_kolb
Ultra Champion
rex field=source "(/[^/]+){4}/(?<subdir1>[^/]+)/.*/(?<fname>.*)$"

should work.

EDIT: missed that you wanted the filename as well...

/k

0 Karma
Get Updates on the Splunk Community!

Unlock Database Monitoring with Splunk Observability Cloud

  In today’s fast-paced digital landscape, even minor database slowdowns can disrupt user experiences and ...

Purpose in Action: How Splunk Is Helping Power an Inclusive Future for All

At Cisco, purpose isn’t a tagline—it’s a commitment. Cisco’s FY25 Purpose Report outlines how the company is ...

[Upcoming Webinar] Demo Day: Transforming IT Operations with Splunk

Join us for a live Demo Day at the Cisco Store on January 21st 10:00am - 11:00am PST In the fast-paced world ...