$ awk -F': ' '/position[0-9]+:|word[0-9]+:/ {w=w" "$2 };
/^[0-9. ]+$/ { w=w" "$0 };
/^[[:blank:]]*$/ || eof {if (w) {gsub(/,/,"",w);print w;w=""}}' muthu.txt
[ 0.0000000 0.0000000 0.0000000 ] 0.0000000 0.32015595 0.18484212 0.00000000 0.00000000 0.36968424 0.00000000 0.00000000 0.00000000 0.08286072
[ 0.5000000 0.0000000 0.0000000 ] 0.0000000 0.45015595 0.53484212 0.00000000 0.00000000 0.36968424 0.00000000 0.00000000 0.00000000 0.02476072
Como alternativa, com formatação um pouco mais agradável (IMO):
$ awk -F': ' '/position[0-9]+:/ {p=$2 };
/word[0-9]+:/ {w=$2};
/^[0-9. ]+$/ {
if (!w2) { w2="[" };
w2=w2" ["$0" ]"
};
/^[[:blank:]]*$/ || eof {
l=p" "w" "w2;
gsub(/ +/," ",l);
gsub(/,/,"",l);
if (l ~ /^[[:blank:]]*$/) {next};
print l" ]";
p=w=w2=""
}' muthu.txt
[ 0.0000000 0.0000000 0.0000000 ] 0.0000000 [ [ 0.32015595 0.18484212 0.00000000 ] [ 0.00000000 0.36968424 0.00000000 ] [ 0.00000000 0.00000000 0.08286072 ] ]
[ 0.5000000 0.0000000 0.0000000 ] 0.0000000 [ [ 0.45015595 0.53484212 0.00000000 ] [ 0.00000000 0.36968424 0.00000000 ] [ 0.00000000 0.00000000 0.02476072 ] ]
Ambos assumem que a entrada está em parágrafos separados por 1 ou mais linhas em branco.