@All
Estava procurando um meio de imprimir dezenas de arquivos .ODT (documentos do writer da suíte OpenOffice.org) sem ter que abrir arquivo por arquivo no Google e achei a solução, porém para apenas uma (01) via do documento, desde que não há uma opção em linha de comando para mais de uma cópia a ser impressa; então a solução foi apelar para o
bash ...
Vejamos:
0.0 Tenha em mente que os arquivos .ODT estejam todos no mesmo diretório; então mude para este diretório no terminal usando o comando "cd";
0.1. Para efeitos desta dica, quando eu escrevo "<ENTER>" (sem aspas), eu estou simbolizando que
deve ser premida a tecla <ENTER> do teclado;
0.2 Estando no diretório com os arquivos em questão, então faça a seguinte sequência de comandos do
bash:
for passo in $(seq 2) <ENTER>
do <ENTER>
openoffice -p *.odt <ENTER>
done <ENTER>Relembrando que o
<ENTER> significa que após digitar o comando deverá ser premida a tecla <ENTER> para que o comando seja executado e então possa seguir na próxima instrução.
A opção
-p envia cada arquivo para a fila de impressão da impressora
default; caso tenha mais de uma impressora instalada e queira usar outra opção que não a
default, então usar a opção
-pt "Nome-da-Impressora-entre-aspas".
É uma dica "boba" mas eu procurei e não achei e pode ser que alguém precisse de algo do tipo, então fica aí para registro e ajudar quem precisar ...
Danpos.
Atualização: após "fuçar" mais um pouco, resolvi modificar a chamada de comandos
bash pois a idéia é que para cada documento a ser impresso, seja feito uma cópia (i.e., cada documento deve ser impresso duas vezes antes da impessão do seguinte); assim a sequência que estou usando agora é:
for i in *.odt
do
for passos in $(seq 2)
do
openoffice -p $i 2>/dev/null
done
doneDesta forma, cada arquivo sejá impresso duas vezes (nota - se o número de cópias desejadas for 3, 4, 5, ..., basta mudar "seq 2", para "seq 3", ...., de acordo com o número necessário). o "2>/dev/null" é usado apenas para redirecionar umas mensagens de erro indesejáveis.