Peço desculpas se a pergunta já foi feita antes, realmente fiquei preso nessa questão por algumas horas, o que parece relativamente fácil. Consegui identificar dois padrões por meio do awk no arquivo único.
awk '/\[code\.change\..*\]/ {found=1; print; next} found && NF {print} found && !NF {exit}' filename
awk '/\[code\.test\..*\]/ {found=1; print; next} found && NF {print} found && !NF {exit}' filename
Existe a possibilidade de combinar esses dois awks em um para trocar os blocos?
um exemplo do arquivo de configuração está abaixo file.cfg
[code.change.1]
file.path=filename
file.contact=manager
file.active=TRUE
[code.test.1]
ls -la filepath
pwd
find . -name filename
Só precisa trocar a ordem da configuração. Obrigado