首页 > 解决方案 > 如何在gnuplot中应用tail命令

问题描述

我在 gnuplot 文件中定义我的两个列数据文件,plot.gnu.

FILE2='case.out'

我想存储case.outas的第二列的最后一个值Max。我试过

Max =`(tail -n 2 FILE2 | awk '{print $2}')`

但它给了我错误

Max =
      ^
"plot.gnu", line 37: constant expression required

但是,如果我定义文件的确切名称case.out,而不是用 Max 命令编写FILE2,那么它会很好地工作。

我的 case.out 是一条线

3.2853  243.4008
3.2936  243.6239
3.3019  243.8089
3.3103  243.9544
3.3186  244.0590
3.3269  244.1221
3.3353  244.1432

我希望Max命令应该存储244.1432价值。IE

print Max

应该给 244.1432

标签: gnuplot

解决方案


查看手册和/或 gnuplot 控制台类型help stats。这里不需要awk。

代码:

stats "case.out" u 2 nooutput

print STATS_max

结果:

244.1432

添加:

请查看手册以了解其stats工作原理。

代码:

stats "case.out" u 1:2 nooutput

print STATS_min_x, STATS_max_x
print STATS_min_y, STATS_max_y

结果:

3.2853 3.3353

243.4008 244.1432

或者您甚至可以“重命名”统计结果。

代码:

stats "case1.out" u 1:2 nooutput name "First"
print First_min_x, First_max_x
print First_min_y, First_max_y

stats "case2.out" u 1:2 nooutput name "Second"
print Second_min_x, Second_max_x
print Second_min_y, Second_max_y

推荐阅读