@All
Motivação:Após três dias de trabalho para gerar 78 relatórios no openoffice, eu verifiquei que havia um erro de concordância em um parágrafo. Putz! Editar 78 arquivos 1 a 1 não era alternativa. Pesquisando achei essa
fonte e fiz as adaptações necessárias e então cheguei a solução em apenas uma linha no terminal (
bash).
Código (bash - uma linha no terminal)for i in *.odt; do mkdir ./tmp; cd ./tmp; unzip -qq ../$i; sed -i 's/OQUEPROCURO/TROCA/' content.xml; zip -qq -r ../$i *; cd ..; rm -rf ./tmp; done
Neste código, "OQUEPROCURO" é o padrão procurado em cada relatório (no meu caso foi a palavra "encontrarem") e "TROCA" é o novo valor (no meu caso foi a palavra "encontrar"). O "sed -i" faz a modificação diretamente no arquivo (mais em "man sed" ou então baixando o ótimo livro - inacabado - do Aurélio Chagas).
Advertência:Os arquivos *.odt não devem ter espaços em brancos no
nome do arquivo (o unzip "chia"), talvez usando "" para cada $i faça a mágica mas não testei ...
Fica aí a dica ...
Danpos.