aboutsummaryrefslogtreecommitdiff
path: root/challenge-119/abigail/bash/ch-2.sh
blob: 3357e22cd7aafba723825b804581713e8e03cb97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/sh

#
# See ../README.md
#

#
# Run as: bash ch-2.sh < input-file
#

set -f

function next_number () {
     [[ 0$1 =~ ^(.*)([012])(3*)$ ]]
     next_num=${BASH_REMATCH[1]}$((BASH_REMATCH[2] + 1))${BASH_REMATCH[3]//3/1}
     next_num=${next_num//11/12}
     next_num=${next_num/0/}
}


while read num
do    number="0"
      for ((i = 0; i < num; i ++))
      do  next_number $number
          number=$next_num
      done
      echo $number
done