GNUplot输入文件名作为变量

时间:2014-08-16 15:22:21

标签: bash variables gnuplot

我想将文件名输入GNUplot作为变量。 我写了一个gnuplot脚本,其中包括以下几行:

path="path/to/file"
plot "< cat $path | sed '1,4d'" using 1:2

当我运行脚本时,gnuplot窗口会打开,但其中没有任何内容。 如果我将$path替换为实际路径,则会正确绘制图表。

请您建议一种方法吗?谢谢。

1 个答案:

答案 0 :(得分:2)

您可以这样做以在命令中插入gnuplot变量的值:

path="path/to/file"
plot "< cat ". path ." | sed '1,4d'" using 1:2

请注意,没有必要同时使用catsed

path="path/to/file"
plot "<sed '1,4d' ". path using 1:2

小心你的空间!您可以使用print代替plot来查看将执行的命令。

有时,我喜欢使用sprintf来做这件事:

cmd = "1,4d"
plot sprintf("<sed '%s' %s", cmd, path) using 1:2

它有点长,但我认为它也更清晰。

顺便说一句,在这种特殊情况下,您根本不需要使用任何外部工具。你可以这么做:

plot path using 1:2 every ::4

这将跳过文件的前4行。