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