X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=utils%2Fexpand-mdb.awk;fp=utils%2Fexpand-mdb.awk;h=b2a2f338954ae98863e5ddf1092885bc18864c07;hb=c10c271b7fc3d016a5935b5df0a81fafcb2a8a4c;hp=4067750ea16455f1e41dc5204217e63335b92e7b;hpb=19d5591abadf4237944a582ef6cb54019d1a013b;p=m17n%2Fm17n-docs.git diff --git a/utils/expand-mdb.awk b/utils/expand-mdb.awk index 4067750..b2a2f33 100644 --- a/utils/expand-mdb.awk +++ b/utils/expand-mdb.awk @@ -4,16 +4,14 @@ BEGIN { SUBDIR["language-name-*"] = "LANGDATA/"; SUBDIR["standard-language-iso639"] = "LANGDATA/"; KEY=""; + XINCLUDEFMT="\n"; } /^ 0) { - KEY = sprintf("%s-%s", KEY, substr($0, RSTART + 6, RLENGTH - 6)); - if (match($0, "key2=\"[^\"]*") > 0) - KEY = sprintf("%s-%s", KEY, substr($0, RSTART + 6, RLENGTH - 6)); - } + KEY = substr($0, RSTART + 6, RLENGTH - 6); + for (i = 1; i < 4 && match($0, sprintf("key%d=\"[^\"]*", i)) > 0; i++) + KEY=KEY"-"substr($0, RSTART + 6, RLENGTH - 6); print; next; } @@ -21,10 +19,17 @@ BEGIN { /[^<]*<\/filename>/ { from = match($0, "[^<]*"); to = from + RLENGTH; - printf "%s\n", substr($0, 1, to - 1); + printf "%s", substr($0, 1, from - 1); TAIL = substr($0, to); - FILE = sprintf("%s%s", SUBDIR[KEY], substr($0, from + 10, to - from - 21)); - system(sprintf("ls %s/%s | sed -f %s", M17NDB, FILE, SEDFILE)); + FILE = substr($0, from + 10, to - from - 21); + COMMAND = "cd "M17NDB"/"SUBDIR[KEY]"; ls "FILE; + COMMAND | getline LINE; + print ""LINE""; + printf XINCLUDEFMT, M17NDB"/"SUBDIR[KEY]LINE; + while (COMMAND | getline LINE) { + print ""LINE""; + printf XINCLUDEFMT, M17NDB"/"SUBDIR[KEY]LINE; + } if (length(TAIL) > 0 && ! match(TAIL, "^[ \t]*$")) print TAIL; next;