How do I extract a substring from a field value, ignoring a word containing a particular character, let's say %2
.
Original field value = some text here GVtghrUaE%2FIU5H 8Lpa%2FcfAhIZvdT7Q1Q %2F4UL3zgnngrOrL97eUYn5e0 j8sXk5eN6%2FSQEsVAz066qk%2 some more text here
New extracted field value = some text here some more text here
Thank you for your help.
Try this:
| rex field=yourfield mode=sed "s/\S*%2\S*//g"
Of if you want to keep the original one simply do this instead:
| eval newfield = oldfield
| rex field=newfield mode=sed "s/\S*%2\S*//g"
Example:
| makeresults | fields - _time
| eval _raw = "some text here GVtghrUaE%2FIU5H 8Lpa%2FcfAhIZvdT7Q1Q %2F4UL3zgnngrOrL97eUYn5e0 j8sXk5eN6%2FSQEsVAz066qk%2 some more text here"
| rex mode=sed "s/\S*%2\S*//g"
Output (see picture below):
Try this:
| rex field=yourfield mode=sed "s/\S*%2\S*//g"
Of if you want to keep the original one simply do this instead:
| eval newfield = oldfield
| rex field=newfield mode=sed "s/\S*%2\S*//g"
Example:
| makeresults | fields - _time
| eval _raw = "some text here GVtghrUaE%2FIU5H 8Lpa%2FcfAhIZvdT7Q1Q %2F4UL3zgnngrOrL97eUYn5e0 j8sXk5eN6%2FSQEsVAz066qk%2 some more text here"
| rex mode=sed "s/\S*%2\S*//g"
Output (see picture below):
ty @javiergn
How do i make this field extracted and present all the time in interesting filed, instead of making this as search time extraction.
(?P) format of regular expression.
Take a look at this link where it explains how to anonymize data either at index time (SEDCMD) or search-time. It's pretty much your use case but instead of replacing the content with # you just want to hide it:
http://docs.splunk.com/Documentation/Splunk/6.4.2/Data/Anonymizedata
Let me know if that's not clear enough.
By the way, if you are happy with the answer please don't forget to mark it as such so that we can close the thread.
Regards,
J