A te megoldásod még elég elegáns, az enyém sokkal gányolósabban ki:
#!/bin/sh
memdata=$(cat /proc/meminfo | sed 5q | grep -E -o "[0-9]+")
set -- $memdata
used_kib=$(expr $1 - $2 - $4 - $5)
used_mib=$(expr $used_kib / 1024)
echo "Used memory: $used_mib MiB"
Kicsit körülményes, mert szándékosan POSIX kompatibilisre írtam, hogy ne dependeljen Bash-re. Bár így is Linuxhoz van kötve, mivel /proc/akármi és /sys/akármi csak Linuxon van, BSD-ken az alábbi módszer alkalmazom, azokon nincs változás:
top -b -n1 | sed -n 4p
Próbálkoztam vmstat-tal is, mert az még univerzálisabb az unix/unixlike rendszerek között, de még nehezebben parse-olható.