From 86071ef703bd3e3cd55a4ca93668d157d1941363 Mon Sep 17 00:00:00 2001 From: Thomas Voss <mail@thomasvoss.com> Date: Mon, 5 Dec 2022 21:29:43 +0100 Subject: Add 2016 day 4 solutions --- 2016/04/puzzle-2.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 2016/04/puzzle-2.sh (limited to '2016/04/puzzle-2.sh') diff --git a/2016/04/puzzle-2.sh b/2016/04/puzzle-2.sh new file mode 100755 index 0000000..3e2c333 --- /dev/null +++ b/2016/04/puzzle-2.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +# This is slow, but it’s fun! That’s what counts! + +while IFS='[]' read -r line cksum; do + sid=`echo $line | grep -o '[0-9]*'` + echo $line \ + | tr -d -- '-0-9\n' \ + | sed 's/./&\n/g' \ + | sort \ + | uniq -c \ + | sort -k1nr \ + | head -n5 \ + | awk "{ s = s \$2 } END { if (s == \"$cksum\") print \"$line\" }" +done <input | \ + while read -r line; do + for i in `seq 25`; do + echo $line | tr $(printf %${i}s | tr ' ' '.')\a-z a-za-z + done + # The call to head(1) allows us to exit the moment we find the + # first match. + done | grep north | grep -o '[0-9]*' | head -n1 +# END PART 2 -- cgit v1.2.3