Blob


1 awk ' # reroman
2 # Output: string (tab) arab1 [(space) arab2]
3 # Input: string (tab) arab1 or roman1 [(space) arab2 or roman2]
5 BEGIN { FS = OFS = "\t"
6 # set a[1] = "i", a[2] = "ii", ...
7 s = "i ii iii iv v vi vii viii ix x"
8 s = s " xi xii xiii xiv xv xvi xvii xviii xix xx"
9 s = s " xxi xxii xxiii xxiv xxv xxvi xxvii xxviii xxix xxx"
10 split(s, a, " ")
11 }
12 $2 < 0 { n = split($2, b, " ")
13 for (i = 1; i <= n; i++) {
14 if (b[i] >= 0) continue
15 j = 1000 + b[i]
16 if (j in a) b[i] = a[j]
17 else print "reroman: bad number: " $0 | "cat 1>&2"
18 }
19 $2 = b[1]
20 if (n > 1) $2 = b[1] " " b[2]
21 }
22 { print }
23 ' $*