我有多个数据文件output_k,其中k是数字。文件看起来像
#a=1.00 b = 0.01
# mass mean std
0.2 0.0163 0.0000125
0.4 0.0275 0.0001256
现在我需要检索a
和b
的值并将它们存储在一个变量中,这样我就可以将它们用于标题或函数输入等。循环遍历文件中的文件文件夹工作。但是我需要一些帮助才能读出参数a
和b
。这就是我到目前为止所做的。
# specify the number of plots
plot_number = 100
# loop over all data files
do for [i=0:plot_number] {
a = TODO
b = TODO
#set terminal
set terminal postscript eps size 6.4,4.8 enhanced color font 'Helvetica,20' linewidth 2
set title "Measurement \n{/*0.8 A = a, B = b}"
outFile=sprintf("plot_%d.eps", i)
dataFile=sprintf("output_%d.data", i)
set output outFile
plot dataFile using 1:2:3 with errorbars lt 1 linecolor "red", f(a,b)
unset output
}
修改
我正在使用gnuplot for windows。
答案 0 :(得分:1)
如果您使用的是Unixoid系统,则可以使用system
获取标准命令行工具的输出,即head
和sed
,这又可以提取所述值表单文件:
a = system(sprintf("head -n 1 output_%i.data | sed \"s/#a=//;s/ b .*//\"", i))
b = system(sprintf("head -n 1 output_%i.data | sed \"s/.*b = //\"", i))
这假设你问题中所有行的前导空格实际上是格式错误。