#!/usr/bin/awk -f # dirty xml reading is more fun # requires nawk / gawk for sub() BEGIN { FS = "" } { printdefs($1, $2); } function printdefs(word, defs) { # Split the headwords and other information about the word. This # ensures that e.g. 'n.' queries don't match every noun. # To be used in conjuction with an argument to dictfmt like this: # --index-data-separator " " # This is disabled at the moment as GoldenDict prior to 2c901d5 # (2013-06-16) had a bug that would ignore any entry with this # extra information in the index. #sub("", " ", word); n = split(defs, array, ""); for(i=0; i<=n; i++) { if(array[i] != "") { printf(":%s: %s\n", word, array[i]); } } }