Splunk Search

How do I edit my regex to capture the shortname from a mix of FQDN and shortname host field entries?

renems
Communicator

I'm trying to create a new field based on the host field. The new field (hostname) should only contain the shortname. The host field is currently a mix of fqdn and shortnames:

server1.linux.splunk.co.uk
server2.linux.splunk.co.uk
server3
server4.linux.splunk.co.uk

So far, this comes close to what I'm trying to achieve:

| rex field=host "(?P<hostname>[^ ]+?)\."

Works great for all entries that actually do have a dot (.) in the text (number1, 2, 4). The ones without a dot (.) return blank. How do I also include the ones that don't need modification at all? (number 3)

Any help greatly appreciated!

0 Karma
1 Solution

ltrand
Contributor

It's too greedy to put against just a block of text, but as long as the field is sanitary, this should work:

(?P<hostname>[^.]+)

View solution in original post

ltrand
Contributor

It's too greedy to put against just a block of text, but as long as the field is sanitary, this should work:

(?P<hostname>[^.]+)

renems
Communicator

It does! Kudo's for you, my friend!

0 Karma
Get Updates on the Splunk Community!

Index This | Why did the turkey cross the road?

November 2025 Edition  Hayyy Splunk Education Enthusiasts and the Eternally Curious!   We’re back with this ...

Enter the Agentic Era with Splunk AI Assistant for SPL 1.4

  &#x1f680; Your data just got a serious AI upgrade — are you ready? Say hello to the Agentic Era with the ...

Feel the Splunk Love: Real Stories from Real Customers

Hello Splunk Community,    What’s the best part of hearing how our customers use Splunk? Easy: the positive ...