2013-10-07 125 views
0

我在脚本中使用以下行。gnuplot输入的bash脚本

foo=$1 

bar=$(printf ' , "%s" u ($1):($2) lw 8 ti' ${foo[@]} ${foo[@]} ${foo[@]} ${foo[@]} ) 

bar=${bar:2} 

echo $bar  

这将产生以下行变量酒吧

"rdf_inter_fortran_05-25.xvg" u ($1):($2) lw 8 ti , "rdf_inter_fortran_05-25.xvg" u ($1):($2) lw 8 ti , "rdf_inter_fortran_05-25.xvg" u ($1):($2) lw 8 ti , "rdf_inter_fortran_05-25.xvg" u ($1):($2) lw 8 ti 

的价值在于它可以修改脚本,以便输出为:

"rdf_inter_fortran_05-25.xvg" u ($1):($2) lw 8 ti , "rdf_inter_fortran_05-25.xvg" u ($1):($3) lw 8 ti , "rdf_inter_fortran_05-25.xvg" u ($1):($4) lw 8 ti , "rdf_inter_fortran_05-25.xvg" u ($1):($5) lw 8 ti 
+0

呃..........是吗? –

+0

我修改了这个问题! –

回答

1

更改您的printf线以下:

bar=$(printf ' , "%s" u ($1):($%s) lw 8 ti' ${foo[@]} "2" ${foo[@]} "3" ${foo[@]} "4" ${foo[@]} "5") 
0

看起来要更换一些新的字符串2美元。 echo $bar之前插入此行:

bar=$(echo $bar | sed 's/$2/$5/4; s/$2/$4/3; s/$2/$3/2;') 

这取代了第四,第三和$ 2与新的各值$ 5,$ 4和$ 3第二发生。