🌚
#!/usr/bin/bash
total="$(sed -rn 's/^MemTotal: *([0-9]+) .*/\1/p' /proc/meminfo)"
free="$(sed -rn 's/^MemFree: *([0-9]+) .*/\1/p' /proc/meminfo)"
shared="$(sed -rn 's/^Shmem: *([0-9]+) .*/\1/p' /proc/meminfo)"
buffers="$(sed -rn 's/^Buffers: *([0-9]+) .*/\1/p' /proc/meminfo)"
cache="$(($(sed -rn 's/^Cached: *([0-9]+) .*/\1/p; s/^SReclaimable: *([0-9]+) .*/\1/p;' /proc/meminfo| sed ':a; /$/N; s/\n/ + /; ta')))"
available="$(sed -rn 's/^MemAvailable: *([0-9]+) .*/\1/p' /proc/meminfo)"
swtotal="$(sed -rn 's/^SwapTotal: *([0-9]+) .*/\1/p' /proc/meminfo)"
swfree="$(sed -rn 's/^SwapFree: *([0-9]+) .*/\1/p' /proc/meminfo)";
echo -e "mem total\t: $total kB
mem used\t: $((total - free - buffers - cache)) kB
mem free\t: $free kB\nmem shared\t: $shared kB
mem buff/cache\t: $(($buffers + $cache)) kB
mem available\t: $available kB
swap total\t: $swtotal kB
swap used\t: $((swtotal - swfree)) kB
swap free\t: $swfree kB"
