Howard Chu wrote:
Howard Chu wrote:
(all as a single line of text)
Unfortunately the asort() function is a GNU extension, so I think we
have to
pipe to the sort command instead:
grep -v '^#' | awk 'BEGIN{FS="\n";RS=""}{j=0; for (i=1; i<=NF; i++){
if ($i ~
/^ /) { x[j] = x[j] "\n" $i; } else { j++; x[j] = $i }} print x[1];
for (i=2;
i<=j; i++){print x[i] | "sort +0";} delete x; close("sort +0"); print
""}'
Oops. Except piping to sort loses the field boundaries, so continuation
lines are messed up.
Frankly I ask myself why bothering with such a mess? I know it's hard to
introduce another binary dependency but I'd recommend to use a decent
(readable) scripting language. Because having to maintain code like the
example above will hold people back from writing detailed tests.
Ciao, Michael.