Skip to content

Instantly share code, notes, and snippets.

@aramperes
Created December 20, 2024 01:27
Show Gist options
  • Save aramperes/bfdf74621c5dcb8d04139b6e22fed72d to your computer and use it in GitHub Desktop.
Save aramperes/bfdf74621c5dcb8d04139b6e22fed72d to your computer and use it in GitHub Desktop.
Advent of Code 2024 Day 2 - Bash
#!/bin/bash
# cat input.txt | ./solve1.sh
while read -r rpt; do
echo "$rpt" |
sed 's/\s\+/\n/g' |
sort -n |
xargs |
while read -r srt; do
echo "$rpt" |
sed 's/\s\+/\n/g' |
sort -n -r |
xargs |
while read -r uns; do
[ "$srt" == "$rpt" ] || [ "$uns" == "$rpt" ] && echo "$rpt"
done
done |
while read -r; do
echo "$rpt" |
sed 's/\s\+/\n/g' |
wc -l |
while read -r len; do
for i in $(seq 1 $len); do
echo "$rpt" |
sed 's/\s\+/\n/g' |
tail -n+$i |
head -2 |
xargs -L2 |
awk '$2' |
awk '{printf "%s-%s\n", $2, $1}' |
while read -r math; do
echo $(($math))
done |
awk '$1 > 3 || $1 == 0 || $1 < -3'
done
done |
wc -l |
while read -r bads; do
[ "$bads" == "0" ] && echo "$rpt"
done
done
done |
wc -l
#!/bin/bash
# cat input.txt | ./solve2.sh
while read -r all; do
echo "$all" |
sed 's/\s\+/\n/g' |
wc -l |
while read -r len; do
for i in $(seq 1 $(($len+1))); do
echo "$all" |
sed 's/\s\+/\n/g' |
sed "$i"d |
xargs |
while read -r rpt; do
echo "$rpt" |
sed 's/\s\+/\n/g' |
sort -n |
xargs |
while read -r srt; do
echo "$rpt" |
sed 's/\s\+/\n/g' |
sort -n -r |
xargs |
while read -r uns; do
[ "$srt" == "$rpt" ] || [ "$uns" == "$rpt" ] && echo "$rpt"
done
done |
while read -r; do
echo "$rpt" |
sed 's/\s\+/\n/g' |
wc -l |
while read -r len; do
for i in $(seq 1 $len); do
echo "$rpt" |
sed 's/\s\+/\n/g' |
tail -n+$i |
head -2 |
xargs -L2 |
awk '$2' |
awk '{printf "%s-%s\n", $2, $1}' |
while read -r math; do
echo $(($math))
done |
awk '$1 > 3 || $1 == 0 || $1 < -3'
done
done |
wc -l |
while read -r bads; do
[ "$bads" == "0" ] && echo "$rpt"
done
done
done
done | wc -l |
while read -r valids; do
[ "$valids" != "0" ] && echo "$all"
done
done
done |
wc -l
7 6 4 2 1
1 2 7 8 9
9 7 6 2 1
1 3 2 4 5
8 6 4 4 1
1 3 6 7 9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment