01.sh - aoc22 - 2022 Advent of Code
 (HTM) git clone https://git.parazyd.org/aoc22
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       01.sh (579B)
       ---
            1 #!/bin/sh
            2 
            3 priority() {
            4         case "$1" in
            5         [a-z]) python -c "print(ord('$1') - 96)" ;;
            6         [A-Z]) python -c "print(ord('$1') - 38)" ;;
            7         esac
            8 }
            9 
           10 answer=0
           11 
           12 while read -r line; do
           13         first="$(echo "$line" | awk '{print substr($0,1,length/2);}')"
           14         secnd="$(echo "$line" | awk '{print substr($0,length/2+1);}')"
           15 
           16         ffd="$(mktemp)"
           17         sfd="$(mktemp)"
           18 
           19         printf "%s" "$first" | fold -w1 | sort -u > "$ffd"
           20         printf "%s" "$secnd" | fold -w1 | sort -u > "$sfd"
           21 
           22         common="$(comm -12 "$ffd" "$sfd")"
           23         prio="$(priority "$common")"
           24         answer="$(( answer + prio ))"
           25 
           26         rm -f "$ffd" "$sfd"
           27 done
           28 
           29 echo "$answer"