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!

What the End of Support for Splunk Add-on Builder Means for You

Hello Splunk Community! We want to share an important update regarding the future of the Splunk Add-on Builder ...

Solve, Learn, Repeat: New Puzzle Channel Now Live

Welcome to the Splunk Puzzle PlaygroundIf you are anything like me, you love to solve problems, and what ...

Building Reliable Asset and Identity Frameworks in Splunk ES

 Accurate asset and identity resolution is the backbone of security operations. Without it, alerts are ...