memory: Improved my awk skills in 12 years - scripts - various script and utils
HTML git clone git://z3bra.org/scripts
DIR Log
DIR Files
DIR Refs
---
DIR commit 5aac3f8aa0167d0add765c21b26d69aab27f672e
DIR parent bda57d820711f01e0d45e5a707fbf45c60305fb6
HTML Author: Willy Goiffon <dev@z3bra.org>
Date: Thu, 20 Aug 2026 23:59:00 +0000
memory: Improved my awk skills in 12 years
Diffstat:
M memory | 22 ++++++++--------------
1 file changed, 8 insertions(+), 14 deletions(-)
---
DIR diff --git a/memory b/memory
@@ -14,28 +14,22 @@ EOF
# display the total of available memory in human readable format
memtotal () {
- grep MemTotal /proc/meminfo | awk '{print $2}'
+ awk '/MemTotal/{print $2*1000}' /proc/meminfo
}
# display the memory used
memused () {
- t=$(grep MemTotal /proc/meminfo | awk '{print $2}')
- f=$(grep MemFree /proc/meminfo | awk '{print $2}')
- b=$(grep ^Buffers /proc/meminfo | awk '{print $2}')
- c=$(grep ^Cached /proc/meminfo | awk '{print $2}')
-
- echo "($t - $f - $c - $b) * 1000" | bc
+ awk '
+ /MemTotal/ {t = $2}
+ /MemFree/ {f = $2}
+ /^Buffers/ {b = $2}
+ /^Cached/ {c = $2}
+ END {print (t-f-c-b)*1000}' /proc/meminfo
}
# display the memory used in percentage
memperc () {
- t=$(grep MemTotal /proc/meminfo | awk '{print $2}')
- f=$(grep MemFree /proc/meminfo | awk '{print $2}')
- b=$(grep ^Buffers /proc/meminfo | awk '{print $2}')
- c=$(grep ^Cached /proc/meminfo | awk '{print $2}')
-
- mem=`echo "100 * ($t - $f - $c - $b) / $t" | bc`
- echo "${mem}%"
+ printf "%s%%\n" `echo "scale=1;100 * $(memused) / $(memtotal)" | bc`
}