他のスクリプトに対して独立してgnuplotを呼び出す方法

他のスクリプトに対して独立してgnuplotを呼び出す方法

私はGNUplotを使用してデータポイントからグラフを生成しています。 GNUplotは、xまたはy軸の範囲、線の色設定などの単純なパラメータ/変数を含む単純なスクリプトを使用します。たとえば、スクリプトの1つを呼び出すと、次のようになります。

gnuplot script1.gpl

うまくいきますが、実行すると

gnuplot *.gpl

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

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

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

ベストアンサー1

find1回の呼び出しで機能したいです。中間ファイルが生成されない場合は、bash(または他のシェル)プレフィックスを追加してサブシェルで実行することをお勧めします。または、次のことを試すことができます。

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

括弧を使用すると、サブシェルを強制的に使用できますが、必ずしも必要ではないようです。

おすすめ記事