#!/bin/bash awk ' $1 == "Node" { thisnode = $2 + 0 thiszone = $4 allnodes[thisnode] = thisnode znames[thiszone] = 1 } $1 == "pages" && $2 == "free" { nfree[thisnode "," thiszone] = $3 } END { printf("Node ") for (z in znames) printf("%15s ", z) printf("\n") for (n in allnodes) { printf("%4d ", n) for (z in znames) { idx = n "," z if (idx in nfree) printf("%15.2f ", nfree[idx]/256.0) else printf("%15s ", "") } printf("\n") } }' /proc/zoneinfo