파트1


sed -i 's/[a-zA-Z]//g' input
sed -i 's/^\([0-9]\)$/\1\1/g' input
sed -i 's/^\([0-9]\).*\([0-9]\)$/\1\2/g' input

awk '{sum+=$1} END {print sum}' input


알파벳 전부 삭제

수가 하나만 있는 줄은 복사

맨앞의 숫자랑 맨뒤의 숫자 따와서 붙임


sed 같은 걸로 덧셈 구현하는게 어렵진 않겠지만(decimal을 unary로 바꾸면 끝이니까)... 자릿수가 너무 많아져서 그냥 awk으로


--------------


파트2


파트2에서 sed로 어려울 수 있는 건 nineight 같은 문자열이 주어졌을 때 nin8이나 9ight이 아니라 98로 변환되어야 한다는 건데... 따로 뭐 할 필요 없이 문자열 교체만 잘 해주면 됨


sed -i 's/zero/z0o/g' input
sed -i 's/one/o1e/g' input
sed -i 's/two/t2o/g' input
sed -i 's/three/t3e/g' input
sed -i 's/four/f4r/g' input
sed -i 's/five/f5e/g' input
sed -i 's/six/s6x/g' input
sed -i 's/seven/s7n/g' input
sed -i 's/eight/e8t/g' input
sed -i 's/nine/n9e/g' input


이렇게 순차적으로 처리해주면 위의 nineight 같은 문자는 nine8t -> n9e8t 같은 식으로 변환을 거치게 됨. 어차피 알파벳은 다 날릴 거니까 상관이 없다.


나머지는 파트1과 동일