【问题标题】:Multiple pipes for Gnuplot inputGnuplot 输入的多个管道
【发布时间】:2010-11-19 03:21:13
【问题描述】:

在使用 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;\""

这可以通过其他语法实现吗?

【问题讨论】:

标签: pipe gnuplot


【解决方案1】:

使用

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。

【讨论】:

  • 难以置信,我之前尝试过这个时一定只是搞砸了语法。感谢您指出这一点并让我再试一次。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-01
  • 2012-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多