2015-01-09 66 views
2

我使用awk,它在gnuplot内部输出以绘制文件中的数据。这个工作过程中的gnuplot如下:在gnuplot中操作awk参数

s=`awk '{N+=$2}; END {print N}' modes/10.dat` 

在gnuplot的,我可以再与s工作。不过,我想从gnuplot代码中将参数传递给awk,例如:

i=10 
file='modes/'.i.'.dat' 
s=`awk '{N+=$2}; END {print N}' file` 

不幸的是,这不起作用。我也试过了。如:

i=10 
file='modes/'.i.'.dat'  
cmd = sprintf("awk '{N+=$2}; END {print N}' %s", file) 
s=`cmd` 

有没有人有想法?

回答

1

使用

s = system(cmd) 

来评价包含在gnuplot的可变cmd壳表达式:

i = 10 
file = 'modes/'.i.'.dat'  
cmd = sprintf("awk '{N+=$2}; END {print N}' %s", file) 
s = system(cmd)