From dce4c59b4471d7fc31ca40d21986e8fc160d763d Mon Sep 17 00:00:00 2001 From: Logan G Date: Sat, 2 Dec 2023 23:09:26 -0700 Subject: [PATCH] Day 1 (Bash) --- day1/answer1 | 1 + day1/answer2 | 1 + day1/day1p1.sh | 14 ++++++++++++++ day1/day1p2.sh | 25 +++++++++++++++++++++++++ day1/sample1 | 4 ++++ day1/sample2 | 7 +++++++ day1/sample3 | 1 + 7 files changed, 53 insertions(+) create mode 100644 day1/answer1 create mode 100644 day1/answer2 create mode 100755 day1/day1p1.sh create mode 100755 day1/day1p2.sh create mode 100644 day1/sample1 create mode 100644 day1/sample2 create mode 100644 day1/sample3 diff --git a/day1/answer1 b/day1/answer1 new file mode 100644 index 0000000..d48e0d1 --- /dev/null +++ b/day1/answer1 @@ -0,0 +1 @@ +55208 diff --git a/day1/answer2 b/day1/answer2 new file mode 100644 index 0000000..858f802 --- /dev/null +++ b/day1/answer2 @@ -0,0 +1 @@ +54578 diff --git a/day1/day1p1.sh b/day1/day1p1.sh new file mode 100755 index 0000000..aec4029 --- /dev/null +++ b/day1/day1p1.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +SUM=0 + +while read f; do + TEMP1="$(echo ${f//[a-z]})" + TEMP2="${TEMP1:0:1}${TEMP1:0-1}" + for i in $TEMP2; do + echo $SUM + $i + SUM=$(( $SUM + $i )) + done +done < input + +echo $SUM diff --git a/day1/day1p2.sh b/day1/day1p2.sh new file mode 100755 index 0000000..5816104 --- /dev/null +++ b/day1/day1p2.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +SUM=0 + +while read f; do + TEMP1=($(echo $f | awk '{ + while (match($0, /([0-9]|one|two|three|four|five|six|seven|eight|nine)/)) { + print substr($0, RSTART, RLENGTH) + $0 = substr($0, RSTART + RLENGTH) + } + }' | sed -e 's/[0-9]/\0 /g;s/one/\0 /g;s/two/\0 /g;s/three/\0 /g;s/four/\0 /g;s/five/\0 /g;s/six/\0 /;s/seven/\0 /;s/eight/\0 /;s/nine/\0 /g')) + TEMP2=($(echo $f | rev | awk '{ + while (match($0, /([0-9]|eno|owt|eerht|ruof|evif|xis|neves|thgie|enin)/)) { + print substr($0, RSTART, RLENGTH) + $0 = substr($0, RSTART + RLENGTH) + } + }' | sed -e 's/[0-9]/\0 /g;s/eno/\0 /g;s/owt/\0 /g;s/eerht/\0 /g;s/ruof/\0 /g;s/evif/\0 /g;s/xis/\0 /;s/neves/\0 /;s/thgie/\0 /;s/enin/\0 /g')) + FIRST=$( echo ${TEMP1[0]} | sed -e 's/one/1/g;s/two/2/g;s/three/3/g;s/four/4/g;s/five/5/g;s/six/6/g;s/seven/7/g;s/eight/8/g;s/nine/9/g') + LAST=$( echo ${TEMP2[0]} | rev | sed -e 's/one/1/g;s/two/2/g;s/three/3/g;s/four/4/g;s/five/5/g;s/six/6/g;s/seven/7/g;s/eight/8/g;s/nine/9/g') + echo $f: $FIRST$LAST + SUM=$(( $SUM + $FIRST$LAST )) + #sleep 1 +done < input + +echo $SUM diff --git a/day1/sample1 b/day1/sample1 new file mode 100644 index 0000000..7bbc69a --- /dev/null +++ b/day1/sample1 @@ -0,0 +1,4 @@ +1abc2 +pqr3stu8vwx +a1b2c3d4e5f +treb7uchet diff --git a/day1/sample2 b/day1/sample2 new file mode 100644 index 0000000..41aa89c --- /dev/null +++ b/day1/sample2 @@ -0,0 +1,7 @@ +two1nine +eightwothree +abcone2threexyz +xtwone3four +4nineeightseven2 +zoneight234 +7pqrstsixteen diff --git a/day1/sample3 b/day1/sample3 new file mode 100644 index 0000000..56bfb35 --- /dev/null +++ b/day1/sample3 @@ -0,0 +1 @@ +dftzgsdc19threesevennine3twonevl