所以我正在寻找一些快速而肮脏的解决方案。
问题:
我正在尝试使用 gnuplot 绘制数据文件的特定部分。这可以。基本行类似于
plot "<(sed -n '1,100p' pointsandstuff.dat)" u 1:log($4**2+$5**2) notitle
这工作得很好。我想要的下一步是在我的标题中包含数据的另一部分,即数据条目 $3(列出的点是相同的,所以我可以从任何地方解析它)。我遇到了问题,因为虽然情节看起来不错,但我似乎无法将正则表达式信息输入“标题”。一个不起作用的例子”
plot "<(sed -n '1,100p' pointsandstuff.dat)" u 1:log($4**2+$5**2) title "<(sed -n '1,1p' pointsandstuff.dat)"
(理论上,这会吐出一整条数据线,但实际上我只是得到标题“<(sed ...”)
我尝试使用 bash 脚本来攻击它,但是我使用的 '$' 将 bash 脚本扔进了一个头晕:
#!/bin/bash
STRING=$(echo|sed -n '25001,25001p' pointsandstuff.dat)
echo $STRING
gnuplot -persist << EOF
set xrange[:] noreverse nowriteback
set yrange[:] noreverse nowriteback
eval "plot "<(sed -n '25001,30000p' pointsandstuff.dat)" u 1:log($4**2+$5**2) title $STRING
EOF
Bash 不知道如何处理 '$4' 和 '$5'。