我想将文件名输入GNUplot作为变量。 我写了一个gnuplot脚本,其中包括以下几行:
path="path/to/file"
plot "< cat $path | sed '1,4d'" using 1:2
当我运行脚本时,gnuplot窗口会打开,但其中没有任何内容。
如果我将$path
替换为实际路径,则会正确绘制图表。
请您建议一种方法吗?谢谢。
答案 0 :(得分:2)
您可以这样做以在命令中插入gnuplot变量的值:
path="path/to/file"
plot "< cat ". path ." | sed '1,4d'" using 1:2
请注意,没有必要同时使用cat
和sed
:
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行。