Você também pode considerar:
-
a ferramenta GNU chamada
m4
, que é um processador de texto que gera o texto que você deseja, tomando como entrada um modelo com as partes a serem alteradas. Certamente seria mais simples que o shell script. (funciona mais ou como um pré-processador C com #define macro IIRC). -
a ferramenta GNU
xsltproc
que aplica uma transformação e fornece a saída. O modelo está emxml
exslt
é o formato das coisas da transformação a serem feitas no seuxml
, de modo a gerar o texto.
Pessoalmente, tenho uma preferência por xslt
, mas no seu caso, embora não se encaixasse nos campos no formulário %DATA1%
%DATA2%
. Ele precisa de xml, então você odiaria mudar seus modelos.
Assim, você deve dar uma olhada em m4
.
- Como outra escolha, me disseram que a linguagem de programação
Haskell
é muito boa em transformar fluxos. Eu só estou considerando essa idéia porque os amantes do Haskell falam sobre o maravilhoso pacoteParsec
, que permite a análise natural de streams de strings. Muito melhor que xslt, o que já é bom. Eu apenas os repito, porque estou apenas aprendendo Haskell, e não tenho a única ideia de como transformar o texto com ele por enquanto .