Bash 从echo到gnuplot变量的管道?

Bash 从echo到gnuplot变量的管道?,bash,pipe,gnuplot,echo,Bash,Pipe,Gnuplot,Echo,我想要的是: echo {0..2} | gnuplot --persist -e "f='{OUTPUT FROM ECHO}'" myplot.plg 0 1 2 文件myplot.plg: print f #plot for [fi in f] fi.".dat" using 1 w l title sprintf(fi) 使用: 我们的目标是使用echo同时运行这个sim的多个实例(不同的初始条件)来创建命令,并通过fork和bash来运行它。一旦模拟完成,我想在一个图中显示所有的

我想要的是:

echo {0..2} | gnuplot --persist -e "f='{OUTPUT FROM ECHO}'" myplot.plg 
0 1 2
文件myplot.plg:

print f
#plot for [fi in f] fi.".dat" using 1 w l title sprintf(fi)
使用:


我们的目标是使用echo同时运行这个sim的多个实例(不同的初始条件)来创建命令,并通过fork和bash来运行它。一旦模拟完成,我想在一个图中显示所有的图。例如:图{0..100}.dat nolegend

正当我认为所有的希望都破灭的时候,xargs去救援

echo {0..2} | xargs -I{} gnuplot --persist -e "f='{}'" myplot.plg
更有趣:

alias sgp="xargs -I{} gnuplot --persist -e \"f='{}'\""
echo {0..2} | sgp plot_files.plg 

编辑:
在tcsh(别名sgp命令)中不起作用。xargs也不一样。

我认为没有什么明智的方法可以做到这一点。上次我尝试(很多年前)时,我想我最终为每次运行都创建了一个here文档,并将其作为脚本传递给Gnuplot,IIRC。如果您有Python,Matplotlib的功能会更广泛,如果您只需要基本绘图。@tripleee:以前没有使用过Gnuplot,但在其中一个标志内运行命令替换语法,
f
在这里不起作用?它不是特定于python的,这只是一个示例用例。我设法使它与xargs一起工作,我对它的优雅感到满意。
alias sgp="xargs -I{} gnuplot --persist -e \"f='{}'\""
echo {0..2} | sgp plot_files.plg