Splunk Search

How to do a field extraction on the date string of a Windows source path field?

shariinPH
Contributor

Hi All

I have here a sample source path:

source="G:\\OperationData\\Ntr_RdngANI\\Work_Bill\\Dis_Rec\\03_12\\Fun_20150312_successful.txt"

I want to extact the 20150312

how can I do that?
I already tried

|rex field=source "G:\\OperationData\\Ntr_RdngANI\\Work_Bill\\Dis_Rec\\03_12\\Fun_(?\d+)_successful.txt"

but it doesn't work, I think its about the "\"

can someone help me with this?
Thanks!

1 Solution

jeffland
SplunkTrust
SplunkTrust

I believe there are two errors in your expression: a) you need to escape your backslashes, and b) you did not give your capture group a name. I can reccomend https://regex101.com/ to confirm your regular expressions.

In your case, your path contains double backslashes and you need to escape both of them, so your regex looks like | rex field=source "G:\\\\OperationData\\\\Ntr_RdngANI\\\\Work_Bill\\\\Dis_Rec\\\\03_12\\\\Fun_(?\d+)_successful.txt" - the capture in angular brackets being the name of your capture group, and \\\\ as a literal \\.

Hope this helps. And you should really give the page mentioned above a try!

View solution in original post

vincenteous
Communicator

Hi shariin,

What jeffland said about double backslashes and naming your capturing group was correct. Instead of using the full path as regex pattern, why don't you focus on the file name instead? Something like this:

Fun_(?<DateLog>\d{8})_.*

I've tested it and you can get what you wanted.

masonmorales
Influencer

^Easiest solution

0 Karma

shariinPH
Contributor

Yes! This works! Thanks!! 🙂

0 Karma

jeffland
SplunkTrust
SplunkTrust

I believe there are two errors in your expression: a) you need to escape your backslashes, and b) you did not give your capture group a name. I can reccomend https://regex101.com/ to confirm your regular expressions.

In your case, your path contains double backslashes and you need to escape both of them, so your regex looks like | rex field=source "G:\\\\OperationData\\\\Ntr_RdngANI\\\\Work_Bill\\\\Dis_Rec\\\\03_12\\\\Fun_(?\d+)_successful.txt" - the capture in angular brackets being the name of your capture group, and \\\\ as a literal \\.

Hope this helps. And you should really give the page mentioned above a try!

shariinPH
Contributor

Hello @jeffland .. This works too ! 🙂 thanks!! 🙂

0 Karma
Get Updates on the Splunk Community!

Fastest way to demo Observability

I’ve been having a lot of fun learning about Kubernetes and Observability. I set myself an interesting ...

September Community Champions: A Shoutout to Our Contributors!

As we close the books on another fantastic month, we want to take a moment to celebrate the people who are the ...

Splunk Decoded: Service Maps vs Service Analyzer Tree View vs Flow Maps

It’s Monday morning, and your phone is buzzing with alert escalations – your customer-facing portal is running ...