将GNUplot变量传递给系统(/usr/bin/awk)

将GNUplot变量传递给系统(/usr/bin/awk),awk,gnuplot,Awk,Gnuplot,此命令在GNUplot脚本中运行良好,可以在值为-1.98的文件中查找该行 system("/usr/bin/awk '/-1.98/{print $2 $1}' /path/to/myfile.txt") 给定由plot命令生成的GNUplot变量STATS\u min\u y,我如何将STATS\u min\u y传递到该system()调用中以代替-1.98值 system("/usr/bin/awk '/STATS_min_y/{print $2 $1}' /path/to/myf

此命令在GNUplot脚本中运行良好,可以在值为-1.98的文件中查找该行

system("/usr/bin/awk '/-1.98/{print $2 $1}' /path/to/myfile.txt")  
给定由plot命令生成的GNUplot变量STATS\u min\u y,我如何将STATS\u min\u y传递到该system()调用中以代替-1.98值

system("/usr/bin/awk '/STATS_min_y/{print $2 $1}' /path/to/myfile.txt")  

类似的变体会因缺少括号而失败。

您可以将结果从
sprintf
直接传递到
system
。例如:

a = system( sprintf("awk '/%g/{print $2,$1}' myfile.txt", STATS_min_y) )

您可以将结果从
sprintf
直接传递到
系统
。例如:

a = system( sprintf("awk '/%g/{print $2,$1}' myfile.txt", STATS_min_y) )

您可能需要类似于
system(“/usr/bin/awk-v value=-1.98'$0~value{print$2$1}'/path/to/myfile.txt”)
的东西,使用GNUplot必须支持的任何字符串连接来构造该命令字符串。GNUplot的concat运算符是句点,这适用于
system(“/usr/bin/awk-v value=“.lowValue.”,$0~value{print$2$1}'/path/to/myfile.txt“
从某种意义上说,它识别变量的值(低值),但由于以下错误而失败:
未知选项-1.98被忽略
,并返回文件的每一行。
值=
之后必须没有空格。不确定我的猜测是否正确:您可能想要类似
系统的东西(“/usr/bin/awk-v value=-1.98'$0~value{print$2$1}'/path/to/myfile.txt”)
使用任何字符串连接支持GNUplot都必须构造该命令字符串。GNUplot的concat运算符是句点,这适用于
系统(“/usr/bin/awk-v value=“.lowValue.”“$0~value{print$2$1}”/path/to/myfile.txt”)
从某种意义上说,它可以识别变量的值(低值),但由于以下错误而失败:
未知选项-1.98被忽略
,并返回文件的每一行。在
值=
之后必须没有空格。不确定我的猜测是否正确:您可能需要类似于
系统(“/usr/bin/awk-v value=-1.98'$0~value{print$2$1}'/path/to/myfile.txt“
使用任何字符串连接支持GNUplot都必须构造该命令字符串。GNUplot的concat操作符是句点,这在
系统(“/usr/bin/awk-v value=“.lowValue.”“$0~value{print$2$1}'/path/to/myfile.txt”)中起作用
从某种意义上说,它可以识别变量的值(低值),但由于以下错误而失败:
忽略未知选项-1.98
,并返回文件的每一行。
值=
后不能有空格。不确定我的猜测是否正确: