I'm not sure I see much of a mystery in what Wave's doing or in its model. But if awk gives you what you need, good for awk. Am I missing some kind of complexity?