开发者

Multiple pipes for Gnuplot input

Is there a method to use multiple pipes when reading data with Gnuplot? The following will plot data received directly from the SQL statement.

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

What I'd like is to process that data before it reaches Gnuplot. I know that I could pipe the SQL data through the script, output to an intermediary file, and plot that file, but I'd rather skip the temp file. I imagined something along the lines of the following, but it's clearly not the correct syntax.

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

or

plot "< process.pl < sqlite3 tomato-rstats.开发者_运维技巧db \"SELECT data FROM table;\""

Is this possible through some other syntax?


Using

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

as you suggested works just fine in gnuplot. You can use any combination of piped commands as an input for gnuplot, e.g.,

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

plots the first 100 items in the fifth row of file.txt. It should be noted that using this as an input for plotting is useless as this processing can be done from within gnuplot itself, but it shows the possibilities of using your UNIX command line and its pipes for preprocessing input.

Needless to say, this does not work on non-UNIX systems, like Windows.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜