estou usando o GNUplot para criar figuras a partir de pontos de dados, o GNUplot funciona com scripts simples que contêm parâmetros/variáveis simples como o intervalo do eixo x ou y, configurações para cores de linha e coisas assim. Quando eu chamo um desses scripts como:
gnuplot script1.gpl
funciona bem, mas quando eu corro
gnuplot *.gpl
para executá-lo para todos os arquivos no diretório atual, tive problemas porque algumas configurações são transferidas de um script para outro. Provavelmente isso ocorre porque o gnuplot não redefine os parâmetros e se eu não os substituir explicitamente no script a seguir, as configurações ainda estarão lá. É por isso que tentei executá-lo de forma diferente usando find:
find . -name '*.gpl' -exec gnuplot {} \;
mas novamente obtenho os mesmos resultados problemáticos. Então, o que eu preciso é de um comando que execute o mesmo comando para cada arquivo, mas de uma forma como se fosse chamado manualmente para cada arquivo.
Responder1
Eu esperaria find
trabalhar de acordo com uma única chamada. Se não houver arquivos intermediários sendo criados, sugiro adicionar um prefixo bash (ou outro shell), para forçá-lo a ser executado em um sub-shell. Ou você pode tentar o seguinte:
for i in *.gpl
do
( gnuplot "$i" )
done
Os colchetes forçarão um sub-shell, mas não acho que deva ser obrigatório.