将GNUplot变量传递给系统(/usr/bin/awk)
此命令在GNUplot脚本中运行良好,可以在值为-1.98的文件中查找该行将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
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
,并返回文件的每一行。值=
后不能有空格。不确定我的猜测是否正确: