aboutsummaryrefslogtreecommitdiff
path: root/challenge-116/abigail/awk/ch-1.awk
blob: 5e0379efb89b8c40f2f508ab13657a03c1ad7291 (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
29
30
31
32
33
34
35
36
37
#!/usr/bin/awk

#
# See ../README.md
#

#
# Run as: awk -f ch-1.awk < input-file
#

function make_sequence (string, start) {
    if (start == string) {
        return start
    }
    if (1 == index (string, start)) {
        tail = substr (string, length (start) + 1)
        result = make_sequence(tail, start + 1)
        if (result == "") {
            result = make_sequence(tail, start - 1)
        }
        if (result == "") {
            return ""
        }
        return start "," result
    }
    return ""
}

{
    for (i = 1; i <= length ($1); i ++) {
        result = make_sequence($1, substr ($1, 1, i))
        if (result != "") {
            print result
            next
        }
    }
}