【发布时间】:2017-11-22 09:19:45
【问题描述】:
我正在尝试通过从文件中读取值的变量在 gnuplot 中设置 yrange。 我使用的代码如下:
pres = "< cat log.xy | tail -n 100 | grep 'average(inlet) of p' | tail -1 |cut -d ' ' -f9 | awk '{print $1 - 5.0}'"
pres_max = pres + 5.0
pres_min = pres - 5.0
set yrange [pres_min:pres_max]
有没有办法将 awk 的输出传递给 gnuplot 中的变量? 或者有没有其他方法来设置那个yrange?
【问题讨论】:
-
cat、tail、cut、grep,最后是awk。这正是overkill的同义词。请记住,您几乎可以仅使用awk完成所有操作,而使用cat、tail、cut、grep组合可以完成的操作。 -
使用gnuplot自带的
stats命令 -
@tripleee 这不是一个重复的问题。在链接中,问题是关于如何在绘图函数中使用命令。那里提出的解决方案不适用于这个问题。相反,这里的问题是关于如何将命令的输出分配给变量,而不是在绘图函数中使用输出。
-
明确一点,整个管道可以重构为
awk '/average\(inlet\) of p/ { p = $9 - 5.0 } END { print p }' log.xy