異なるスクリプトに対してgnuplotを個別に呼び出す方法

異なるスクリプトに対してgnuplotを個別に呼び出す方法

私はデータ ポイントから図を作成するために GNUplot を使用しています。GNUplot は、x 軸や y 軸の範囲、線の色の設定などの単純なパラメーター/変数を含む単純なスクリプトで動作します。次のようなスクリプトを呼び出すと、

gnuplot script1.gpl

問題なく動作しますが、実行すると

gnuplot *.gpl

現在のディレクトリ内のすべてのファイルに対して実行すると、設定が 1 つのスクリプトから次のスクリプトに転送されるため、問題が発生します。これはおそらく、gnuplot がパラメータをリセットせず、次のスクリプトで明示的に上書きしないと設定がそのまま残るためです。そのため、find を使用して別の方法で実行してみました。

find . -name '*.gpl' -exec gnuplot {} \;

しかし、再び同じ問題のある結果になります。したがって、必要なのは、各ファイルに対して同じコマンドを実行するコマンドですが、各ファイルに対して手動で呼び出されるのと同じように実行します。

答え1

1 回の呼び出しで動作することを期待していますfind。中間ファイルが作成されない場合は、サブシェルで強制的に実行するために、bash (または他のシェル) プレフィックスを追加することをお勧めします。または、以下を試すこともできます。

for i in *.gpl
do 
  ( gnuplot "$i" )
done

括弧はサブシェルを強制しますが、必須ではないと思います。

関連情報