【发布时间】:2015-09-04 18:11:42
【问题描述】:
此命令在 GNUplot 脚本中运行良好,可在文件中查找值为 -1.98 的行
system("/usr/bin/awk '/-1.98/{print $2 $1}' /path/to/myfile.txt")
鉴于 plot 命令产生的 GNUplot 变量 STATS_min_y,我如何将 STATS_min_y 传递到 system() 调用中以代替 -1.98 值?
system("/usr/bin/awk '/STATS_min_y/{print $2 $1}' /path/to/myfile.txt")
和类似的变体因缺少括号而失败。
【问题讨论】:
-
你可能想要
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")的意义上有效,因为它识别变量的值 (lowValue) 但失败并出现以下错误:unknown option -1.98 ignored,并返回每个文件的行。 -
value=后面不能有空格。 -
不确定我的猜测是否正确:Gnuplot: how to plot max and /or min value