28 lines
441 B
Bash
Executable File
28 lines
441 B
Bash
Executable File
#!/bin/bash
|
|
|
|
addmul="[0-9]+\ [+*]\ [0-9]+"
|
|
singpar="\([0-9]+\)"
|
|
|
|
part1=0 part2=0
|
|
|
|
while read -r l
|
|
do
|
|
m="$l"
|
|
m=${l//(/((}
|
|
m="(${m//)/))})"
|
|
m=${m//\*/)*(}
|
|
((part2+=m))
|
|
|
|
while [[ $l =~ $addmul ]]
|
|
do
|
|
l=${l/"$BASH_REMATCH"/$((BASH_REMATCH))}
|
|
if [[ $l =~ $singpar ]]
|
|
then
|
|
l=${l/"$BASH_REMATCH"/$((BASH_REMATCH))}
|
|
fi
|
|
done
|
|
((part1+=l))
|
|
done
|
|
echo "$part1"
|
|
echo "$part2"
|