mag37 / AWK_tricks.md

Last active 1 week ago

Like 0

Revision 1e224ba0a1aa03462aa49d96dbcb52d3455d53b1

AWK_tricks.md Raw

Print Power_On_Hours from smartctl

for d in sd{a..e}; do smartctl -a /dev/$d | \
  awk -v d="$d" '/Power_On/ {print "PowerOnHours "d, int($10), "("int($10 / 24)" days)"}' ; done

Example output:

PowerOnHours sda 23050 (960 days)
PowerOnHours sdb 47183 (1965 days)
PowerOnHours sdc 32260 (1344 days)
PowerOnHours sdd 20713 (863 days)
PowerOnHours sde 46021 (1917 days)

Sum containers total RAM usage

Podman:

podman stats --no-stream --format 'table {{ .Name }} {{ .AVGCPU }} {{ .MemUsage }}' | \
  awk 'NR>1 { gsub("MB",""); sum+=$3;} END{print sum,"MB";}'

Docker:

docker stats --no-stream --format 'table {{ .Name }} {{ .CPUPerc }} {{ .MemUsage }}' | \
  awk 'NR>1 { gsub("MB",""); sum+=$3;} END{print sum,"MB";}'

Sum audiobook durations

find . -iname "*.m4b" -exec sh -c 'mediainfo "{}" | grep -m 1 "Duration"' \; | awk -F' ' '{sumH+=$3;sumM+=$5;}END{print sumH+sumM/60, "Hours total";}'