[TriLUG] grep'ing for multiple targets
Joseph Mack NA3T
jmack at wm7d.net
Fri Oct 26 09:22:25 EDT 2007
I need to grep for a couple of targets in a file eg
in /proc/meminfo
MemTotal: 772571936 kB
MemFree: 291853936 kB
Buffers: 125296 kB
Cached: 378449152 kB
SwapCached: 211888 kB
Active: 324410928 kB
Inactive: 145250592 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 772571936 kB
LowFree: 291853936 kB
SwapTotal: 303183680 kB
SwapFree: 302166128 kB
Dirty: 15505472 kB
Writeback: 32800 kB
Mapped: 89034896 kB
Slab: 8205376 kB
CommitLimit: 689469648 kB
Committed_AS: 108303456 kB
PageTables: 135984 kB
VmallocTotal: 137080408512 kB
VmallocUsed: 1971280 kB
VmallocChunk: 137078436112 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
Hugepagesize: 262144 kB
I'd like to retreive say MemTotal, MemFree, Buffers, Cached,
SwapTotal, SwapFree.
I'd like to do this in one pass (rather than 6 passes).
Currently I do something like
awk '{print $2}' | xargs | awk '{print $1 ..linenumber_of_variable }'
It turns out that the position in this list of a variable
(say SwapTotal) varies for different 2.6 kernels, so I can't
look for a variable by position (unless I have a case
statement for each kernel).
Is there a way to retrieve the lines with the above
variables in one pass?
Thanks Joe
--
Joseph Mack NA3T EME(B,D), FM05lw North Carolina
jmack (at) wm7d (dot) net - azimuthal equidistant map
generator at http://www.wm7d.net/azproj.shtml
Homepage http://www.austintek.com/ It's GNU/Linux!
More information about the TriLUG
mailing list