1

Gnuplot でデータを読み取るときに複数のパイプを使用する方法はありますか? 以下は、SQL ステートメントから直接受け取ったデータをプロットします。

plot "< sqlite3 tomato-rstats.db \"SELECT data FROM table;\""

私が望むのは、そのデータが Gnuplot に到達する前に処理することです。スクリプトを介して SQL データをパイプ処理し、中間ファイルに出力して、そのファイルをプロットできることはわかっていますが、一時ファイルはスキップしたいと思います。次の行に沿って何かを想像しましたが、それは明らかに正しい構文ではありません。

plot "< sqlite3 tomato-rstats.db \"SELECT data FROM table;\" | process.pl"

また

plot "< process.pl < sqlite3 tomato-rstats.db \"SELECT data FROM table;\""

これは他の構文で可能ですか?

4

1 に答える 1

2

使用する

plot "< sqlite3 tomato-rstats.db \"SELECT data FROM table;\" | process.pl"

あなたが提案したように、gnuplotではうまく機能します。パイプコマンドの任意の組み合わせをgnuplotの入力として使用できます。

plot "< cat file.txt | cut -f 5 | head -n 100" w l

の5行目に最初の100項目をプロットしますfile.txt。この処理はgnuplot自体から実行できるため、これをプロットの入力として使用することは無意味ですが、UNIXコマンドラインとそのパイプを前処理入力に使用する可能性を示していることに注意してください。

言うまでもなく、これはWindowsなどのUNIX以外のシステムでは機能しません。

于 2011-01-11T12:53:57.737 に答える