Blame


1 aa83d772 2004-05-17 devnull awk ' # deroman
2 aa83d772 2004-05-17 devnull # Input: string (tab) [arab or roman]
3 aa83d772 2004-05-17 devnull # Output: string (tab) [arab]
4 aa83d772 2004-05-17 devnull
5 aa83d772 2004-05-17 devnull # Roman numeral n is replaced by arab n-1000 (e.g., iii -> -997)
6 aa83d772 2004-05-17 devnull BEGIN { FS = OFS = "\t"
7 aa83d772 2004-05-17 devnull # set a["i"] = 1, a["ii"] = 2, ...
8 aa83d772 2004-05-17 devnull s = "i ii iii iv v vi vii viii ix x"
9 aa83d772 2004-05-17 devnull s = s " xi xii xiii xiv xv xvi xvii xviii xix xx"
10 aa83d772 2004-05-17 devnull s = s " xxi xxii xxiii xxiv xxv xxvi xxvii xxviii xxix xxx"
11 aa83d772 2004-05-17 devnull n = split(s, b, " ")
12 aa83d772 2004-05-17 devnull for (i = 1; i <= n; i++) a[b[i]] = i
13 aa83d772 2004-05-17 devnull }
14 aa83d772 2004-05-17 devnull $2~/^[ivxlc]+$/ { if ($2 in a) $2 = -1000 + a[$2]
15 aa83d772 2004-05-17 devnull else print "deroman: bad number: " $0 | "cat 1>&2"
16 aa83d772 2004-05-17 devnull }
17 aa83d772 2004-05-17 devnull { print }
18 aa83d772 2004-05-17 devnull ' $*