Estava refatorando um script antigo que tenho aqui, que tem por objetivo mostrar um arquivo CSV já preenchido com alguns dados de monitoramento.
Já tenho o script montando há muito tempo, porém ele faz bastante uso de sed, cat e etc...
Tive a ideia de refatorá-lo com o intuito de aumentar o desempenho.
Pois bem, deparei num problema e ainda não encontrei solução.
Já li tudo quanto é manual de referência, dicas e etc, inclusive em outros idiomas e não achei uma solução plausível, ou devo ter péssima qualidade para interpretar textos.
O que eu pretendo, com a ajuda dos amigos é a seguinte solução:
Tenho os seguintes arquivos:
result.tpl
monitor.sh
O script monitor tem algumas variáveis definidas com conteúdo que não posso revelar, mas vou exemplificar:
arquivo monitor.sh
kernel="versão do kernel"
system="nome do sistema"
date="data atual"
user="usuário logado"
o script gera um arquivo result.csv.
Porém, tenho que "parsear" todas as variáveis do arquivo "result.tpl" antes de gerar o resultado final, o que é algo como:
final=$(sed "s/$system/$system/g" result.tpl)
E assim faço com cada varável no intuito de substituir o valor da variável do script pela variável no arquivo "result.tpl".
A pergunta é:
Vocês conhecem alguma solução que permite interpretar as variáveis do arquivo "result.tpl" dentro do script sem precisar "parsear na unha"?
Algo como:
monitor. sh "result.tpl"
e ele já interpreta as variáveis dento do "result.tpl"?
Eu consegui com o cat <<EOF, porém tenho que misturar arquivos de programação com o arquivo de template, algo que não quero.
a intenção é algo parecido com:
#!/bin/bash
kernel="versão do kernel"
system="nome do sistema"
date="data atual"
user="usuário logado"
template="result.tpl"
final="result.csv"
function renderTemplate(){
echo $template > $final
}
Só que ao invés de imprimir na tela o conteudo exato do arquivo "result.tpl", ele imprimir o resultado dele já com as variáveis interpretadas com os valores das variáveis já definidos no script?
Espero não ter explicado mal, e que os amigos possam me ajudar!
Desde já, sou grato pela atenção e prometo testar todas as opções que os amigos, de boa vontade, me ensinarem.