blob: 5129e5110dcb2bf484af450a58519f7a86adeb14 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
awk ' # deroman
# Input: string (tab) [arab or roman]
# Output: string (tab) [arab]
# Roman numeral n is replaced by arab n-1000 (e.g., iii -> -997)
BEGIN { FS = OFS = "\t"
# set a["i"] = 1, a["ii"] = 2, ...
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"
n = split(s, b, " ")
for (i = 1; i <= n; i++) a[b[i]] = i
}
$2~/^[ivxlc]+$/ { if ($2 in a) $2 = -1000 + a[$2]
else print "deroman: bad number: " $0 | "cat 1>&2"
}
{ print }
' $*
|