我在文本文件中从 zzz 行开始重复。
zzz ***Wed Aug 16 06:00:30 UTC 2017
MemTotal: 195702024 kB
MemFree: 1323524 kB
..
Cached: 58020288 kB
..other rows
zzz ***Wed Aug 16 06:01:00 UTC 2017
MemTotal: 195702024 kB
MemFree: 1379588 kB
..other rows
Cached: 58001952 kB
..other rows
我想总结一下价值观内存自由:和缓存:对于每次重复。这样的线上有 3 列。 KB 是第三列。
例如:
MemFree: 1323524 kB + Cached: 58020288 kB = 59343812
MemFree: 1379588 kB + Cached: 58001952 kB = 59381540
想要一个像这样的输出:
Total Available Memory = 59343812
Total Available Memory = 59381540
...
...
答案1
我不清楚“row zzz”与这个问题有什么关系。在 zzz 行之前是否还出现了您想要忽略的“MemFree:”和“Cached:”?但这里有一个简单的解决方案,可以捕获“MemFree:”行第二列的值,保存它,并将其添加到下一个“Cached:”行的值中:
awk '
$1 == "MemFree:" { free = $2 }
$1 == "Cached:" { print "Total Available Memory =", free+$2 }
'