我想做类似的事情:
echo "p 'myfile.txt' u 1:(exp($2))" | gnuplot -p
但需要 shell 将$2
作为文字传递到 gnuplot 中。
答案1
更改引用,以便使用单引号 ( "
) 代替双引号 ( '
) 将整个参数包裹起来,echo
并在文件名周围使用双引号,如下所示:
$ echo 'p "myfile.txt" u 1:(exp($2))' | gnuplot -p
例子
制作一些假数据:
$ for i in `seq 1 10`;do echo -e "$i\t$i";done > myfile.txt
结果如下:
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
运行命令,生成此图:
$ echo 'p "myfile.txt" u 1:(exp($2))' | gnuplot -p