#!/bin/bash
awk 'BEGIN { insec=0 }
/[^{]/ && NF==1 && !insec { sec=$1; next }
/[{]/ && sec { insec=1; next }
/[}]/ && insec { sec=""; insec=0; next }
insec && !/^[ \t]*(value|type)/ && NF>1 { sub(/;$/, ""); printf "%s_%s=%s\n", sec, $1, $NF }
insec && /^[ \t]*value/ { gsub(/[();]+/, ""); for(i=3; i<=NF; i++) printf "%s_%i=%s\n", sec, i-2, $i }'
IyEvYmluL2Jhc2gKCmF3ayAnQkVHSU4geyBpbnNlYz0wIH0KL1tee10vICYmIE5GPT0xICYmICFpbnNlYyB7IHNlYz0kMTsgbmV4dCB9Ci9be10vICYmIHNlYyB7IGluc2VjPTE7IG5leHQgfQovW31dLyAmJiBpbnNlYyB7IHNlYz0iIjsgaW5zZWM9MDsgbmV4dCB9Cmluc2VjICYmICEvXlsgXHRdKih2YWx1ZXx0eXBlKS8gJiYgTkY+MSB7IHN1YigvOyQvLCAiIik7IHByaW50ZiAiJXNfJXM9JXNcbiIsIHNlYywgJDEsICRORiB9Cmluc2VjICYmIC9eWyBcdF0qdmFsdWUvIHsgZ3N1YigvWygpO10rLywgIiIpOyBmb3IoaT0zOyBpPD1ORjsgaSsrKSBwcmludGYgIiVzXyVpPSVzXG4iLCBzZWMsIGktMiwgJGkgfSc=
d2F0ZXIKewogICAgbnUgICAgICAgICAgICAgIDEuNjllLTM7CiAgICByaG8gICAgICAgICAgICAgODsKfQp2YXBvdXIKewogICAgcmhvICAgICAgICAgICAgIDI7Cn0KcmlnaHQKewogICAgdHlwZSAgICAgICAgICAgIHplcm9HcmFkaWVudCA2OwogICAgdmFsdWUgICAgICAgICAgIHVuaWZvcm0gKDQwIDEwIDApOyAgCgp9CgpsZWZ0CnsKICAgIHZhbHVlICAgICAgICAgICB1bmlmb3JtICgwIDUgMCk7ICAgIAp9Cg==
water
{
nu 1.69e-3;
rho 8;
}
vapour
{
rho 2;
}
right
{
type zeroGradient 6;
value uniform (40 10 0);
}
left
{
value uniform (0 5 0);
}