如何在gnuplot脚本中将文件名设置为awk下的变量

如何在gnuplot脚本中将文件名设置为awk下的变量,gnuplot,Gnuplot,我在gnuplot中使用了一个awk脚本,如下所述,我想在gnuplot脚本的开头定义data.dat文件名 我试着这样做 case=“数据” 然后在下面的脚本中使用文件名作为case“.dat” set `awk 'BEGIN {FS=", *";mycoord1=-10;mycoord2=10}/tick major +[0-9]+/{myfield1=$2;getline;gsub(" ","");print " arrow from "myfield1","mycoord1" to

我在gnuplot中使用了一个awk脚本,如下所述,我想在gnuplot脚本的开头定义data.dat文件名

我试着这样做 case=“数据” 然后在下面的脚本中使用文件名作为case“.dat”

set `awk 'BEGIN {FS=", *";mycoord1=-10;mycoord2=10}/tick major +[0-9]+/{myfield1=$2;getline;gsub(" ","");print "   arrow from "myfield1","mycoord1" to "myfield1","mycoord2" nohead ; set" }' case".dat" > ARROW.txt ; cat ARROW.txt | tail -n 1  | awk -F';' '/arrow/{print $1;next}1' > ARROW-woSET.txt ; cat ARROW.txt ARROW-woSET.txt`
但它并没有将case“.dat”读取为data.dat

我得到的错误是

awk: cannot open case.dat (No such file or directory)

我还试图在开始时定义完整的文件名,但它仍然不起作用。

awk
之前的反引号是否正确?我没有看到一个接近的。(如果有,就这么说吧,我的视力没那么好;-))。我将尝试制作一个更简单的测试用例,证明您可以为变量设置一个值(
case=“data”
),然后看到该值通过
gnuplot
展开。我想我很惊讶你不需要
$case
%case%
之类的东西。祝你好运。我希望(在shell上下文中,
awk'{script here,reference to“$case”here,etc}
使用单引号来阻止变量插值,但这并不能解释如何得到
case.dat
,而不是
data.dat
。您是否尝试在
awk
脚本上使用dbl引号?您可以使用单引号翻转dbl引号的使用。祝你好运。亲爱的Sheliter,是的,awk脚本中有反引号。我试图用“or”关闭awk脚本,然后使用case.dat、case.dat、case.dat、case.dat,但这些都不适合我。