だから私はいくつかの迅速かつ汚い解決策を探しています。
問題:
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' をどうするかわかりません。