mag37 / AWK_tricks.md

Last active 1 week ago

Like 0

mag37 revised this gist 1 week ago · ac916e1

1 file changed, 11 insertions

AWK_tricks.md
@@ -36,4 +36,15 @@ find . -iname "*.m4b" -exec sh -c 'mediainfo --Inform="General;%Duration%" "{}"'
36 36
37 37 #prints:
38 38 145h 68m 51s
39 +
40 + ## Make it a bash function:
41 +
42 + function dursum() {
43 + if [[ ! -n "$1" ]]; then
44 + echo "no file extension provided"
45 + else
46 + find . -iname "*.${1#.}" -exec sh -c 'mediainfo --Inform="General;%Duration%" "{}"' \; \
47 + | awk '{totalMS+=$0;} END {Hours=(totalMS/3600000); Minutes=((totalMS%3600000)/6000); Seconds=((totalMS%60000)/1000); Milliseconds=(totalMS % 1000); printf "%02dh %02dm %02ds\n", Hours, Minutes, Seconds}'
48 + fi
49 + }
39 50 ```

mag37 revised this gist 1 week ago · 4d8420b

1 file changed, 5 insertions, 2 deletions

AWK_tricks.md
@@ -29,8 +29,11 @@ docker stats --no-stream --format 'table {{ .Name }} {{ .CPUPerc }} {{ .MemUsage
29 29
30 30 ---
31 31
32 - ## Sum audiobook durations
32 + ## Sum media durations (eg audiobooks)
33 33
34 34 ```sh
35 - find . -iname "*.m4b" -exec sh -c 'mediainfo "{}" | grep -m 1 "Duration"' \; | awk -F' ' '{sumH+=$3;sumM+=$5;}END{print sumH+sumM/60, "Hours total";}'
35 + find . -iname "*.m4b" -exec sh -c 'mediainfo --Inform="General;%Duration%" "{}"' \; | awk '{totalMS+=$0;} END {Hours=(totalMS/3600000); Minutes=((totalMS%3600000)/6000); Seconds=((totalMS%60000)/1000); Milliseconds=(totalMS % 1000); printf "%02dh %02dm %02ds\n", Hours, Minutes, Seconds}'
36 +
37 + #prints:
38 + 145h 68m 51s
36 39 ```

mag37 revised this gist 1 week ago · 1e224ba

1 file changed, 8 insertions

AWK_tricks.md
@@ -25,4 +25,12 @@ Docker:
25 25 ```sh
26 26 docker stats --no-stream --format 'table {{ .Name }} {{ .CPUPerc }} {{ .MemUsage }}' | \
27 27 awk 'NR>1 { gsub("MB",""); sum+=$3;} END{print sum,"MB";}'
28 + ```
29 +
30 + ---
31 +
32 + ## Sum audiobook durations
33 +
34 + ```sh
35 + find . -iname "*.m4b" -exec sh -c 'mediainfo "{}" | grep -m 1 "Duration"' \; | awk -F' ' '{sumH+=$3;sumM+=$5;}END{print sumH+sumM/60, "Hours total";}'
28 36 ```

mag37 revised this gist 1 month ago · 421b170

1 file changed, 28 insertions

AWK_tricks.md (file created)
@@ -0,0 +1,28 @@
1 + ## Print Power_On_Hours from smartctl
2 +
3 + ```sh
4 + for d in sd{a..e}; do smartctl -a /dev/$d | \
5 + awk -v d="$d" '/Power_On/ {print "PowerOnHours "d, int($10), "("int($10 / 24)" days)"}' ; done
6 + ```
7 +
8 + Example output:
9 + ```
10 + PowerOnHours sda 23050 (960 days)
11 + PowerOnHours sdb 47183 (1965 days)
12 + PowerOnHours sdc 32260 (1344 days)
13 + PowerOnHours sdd 20713 (863 days)
14 + PowerOnHours sde 46021 (1917 days)
15 + ```
16 +
17 + ## Sum containers total RAM usage
18 +
19 + Podman:
20 + ```sh
21 + podman stats --no-stream --format 'table {{ .Name }} {{ .AVGCPU }} {{ .MemUsage }}' | \
22 + awk 'NR>1 { gsub("MB",""); sum+=$3;} END{print sum,"MB";}'
23 + ```
24 + Docker:
25 + ```sh
26 + docker stats --no-stream --format 'table {{ .Name }} {{ .CPUPerc }} {{ .MemUsage }}' | \
27 + awk 'NR>1 { gsub("MB",""); sum+=$3;} END{print sum,"MB";}'
28 + ```