现在我可以像这样批量绘图
filename(n) = sprintf("x0%.3fgammamax.txt", n)
set term png size 800,600 enhanced
do for [ii=0:10]{
tempi=(ii+0.0)
outfile = sprintf('x0%.3fgammamax-pm3d.png',tempi)
set output outfile
splot filename(tempi) notitle with pm3d
}
但是,现在我需要在使用awk绘图之前处理数据。名为addblanks.awk的文件的内容是
/^[[:blank:]]*#/ {next} # ignore comments (lines starting with #)
NF < 3 {next} # ignore lines which don't have at least 3 columns
$1 != prev {printf "\n"; prev=$1} # print blank line
{print} # print the line
如果我不需要动态文件名,我使用命令:
splot "<awk -f addblanks.awk data.txt" notitle with pm3d
但是,我现在还需要使用awk的动态文件名。结果应该是:
splot "<awk -f addblanks.awk filename(tempi)" notitle with pm3d
如何让它发挥作用?
答案 0 :(得分:0)
您只需要使用.
:
splot "<awk -f addblanks.awk ".filename(tempi) notitle with pm3d
答案 1 :(得分:-1)
这可能有效:
splot "<awk -v TEMPI="$tempi" -f addblanks.awk filename(TEMPI)" notitle with pm3d
我用大写字母定义了awk变量以防止混淆。 tempi="$tempi"
也应该有用。