使用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;\""
这是通过其他语法实现的吗?
答案 0 :(得分: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
绘制file.txt
第五行中的前100个项目。应该注意的是,使用它作为绘图的输入是没用的,因为这个处理可以在gnuplot本身内完成,但它显示了使用UNIX命令行及其管道进行预处理输入的可能性。
毋庸置疑,这不适用于非UNIX系统,例如Windows。