Eu não sou nenhum guru do awk, mas se sua saída é sempre a mesma (quero dizer, segunda linha é cabeçalhos e terceira linha contém resultados), você pode usar algo assim:
cat /tmp/test.txt | awk 'NR==2 {headers=$0; start=0; len=0} NR==3 { start=index($0," "); len=length($2)+1; print substr(headers,start,len) ; print substr($0,start,len)} NR==4 {print substr($0,start,len)}'
Como os campos delimitados por tamanho, você pode obter o índice inicial e a extensão do campo lendo a linha "sublinhado" ( NR==3
).
Se o seu SQL retornar mais de uma linha, você precisará usar algo como if( NR > 1 && NR <= x )
.
Espero que ajude ...