2015-01-09 51 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)