2017-04-19 57 views
0

我有接受3命令行參數的gnuplot腳本sed的 這裏是指令的示例:傳遞一個gnuplot的變量中的gnuplot腳本

gnuplot> call BudgetRowStacked.gnu " "Fonctionnement" "2017" "545000" 

隨着參數我建立一個文件名

file="Dépenses".ARG1.ARG2.".dat" 

目前我用的是硬編碼的文件名文件中的命令,比如

values="`sed -n -e 4p DépensesFonctionnement2017.dat`" 
values2="`sed -n -e 2p DépensesFonctionnement2017.dat`" 

我想在sed命令使用文件變量而不是硬編碼的名字。我怎樣才能做到這一點 ?

+0

我不理解相似性。我沒有一個bash變量,但一個gnuplot變量。 – meaulnes

+0

Oooooh我明白了!這是* gnuplot中的*。讓我撤回那個投票。 –

回答

0

一種選擇將是把這樣的事情到BudgetRowStacked.gnu

file="Dépenses".ARG1.ARG2.".dat" 

getData(fName, row)=system(sprintf("sed -n -e %dp %s", row, fName)) 

values = getData(file, 4) 
values2 = getData(file, 2) 

這裏,sprintf第一構造的興趣作爲一個字符串命令,並將此向system其執行它,並返回其輸出。

+0

非常感謝。我在閱讀您的答案之前最終找到了系統命令。也好! – meaulnes