diff options
Diffstat (limited to '2016/04/puzzle-2.sh')
-rwxr-xr-x | 2016/04/puzzle-2.sh | 23 |
1 files changed, 23 insertions, 0 deletions
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 |