Splunk Search

RegEx for the free -m command - Linux

aferone
Builder

I have a script that runs the "free -m" command, and I am only pulling (grepping) the lines like the following:

-/+ buffers/cache:        219       1789
-/+ buffers/cache:       1469      10557

The first value is used memory, and the second value is free memory.

The RegEx for free memory works for all of the logs:

(?i)^[^:]*:\s+\d+\s+(?P<FreeMemory>.+)

However, for used memory, the following RegEx only works for the 2nd log line above, because of the amount of spaces between "cache:" and the value.

(?i)/cache:       (?P<UsedMemory>[^ ]+)

How do I get the RegEx to work, regardless of how many spaces are in between?

Thanks!

Tags (3)
1 Solution

gfuente
Motivator

Hello

Use this regex to extract both values at the same time:

... | rex "\:\s+(?<usedmemory>\d+)\s+(?<freememory>\d+)" | ...

Regards

View solution in original post

gfuente
Motivator

Hello

Use this regex to extract both values at the same time:

... | rex "\:\s+(?<usedmemory>\d+)\s+(?<freememory>\d+)" | ...

Regards

aferone
Builder

Perfect!! Thank you!

0 Karma
Get Updates on the Splunk Community!

Index This | I am a number, but when you add ‘G’ to me, I go away. What number am I?

March 2024 Edition Hayyy Splunk Education Enthusiasts and the Eternally Curious!  We’re back with another ...

What’s New in Splunk App for PCI Compliance 5.3.1?

The Splunk App for PCI Compliance allows customers to extend the power of their existing Splunk solution with ...

Extending Observability Content to Splunk Cloud

Register to join us !   In this Extending Observability Content to Splunk Cloud Tech Talk, you'll see how to ...