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 | Forward, I’m heavy; backward, I’m not. What am I?

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

A Guide To Cloud Migration Success

As enterprises’ rapid expansion to the cloud continues, IT leaders are continuously looking for ways to focus ...

Join Us for Splunk University and Get Your Bootcamp Game On!

If you know, you know! Splunk University is the vibe this summer so register today for bootcamps galore ...