我试图在gnuplot中获取文件的第一个元素:
data = "file.dat"
x = `cat data | head -n 2 | tail -n 1 | awk '{print $1}'`
但这不断给我以下错误:
no such file or directory
我应该写点类似的东西
x = cat $data | head -n 2 | tail -n 1 | awk '{print $1}'
(以美元计算)
显然,这也是不正确的。
有什么想法吗?
答案 0 :(得分:6)
您需要使用
set macro
然后使用符号@
获取变量data
的值
(Gnuplot中的@
与bash中的$
相似
所以这应该有用
x = `cat @data | head -n 2 | tail -n 1 | awk '{print $1}'`
答案 1 :(得分:5)
使用system
函数的另一种可能性而非背景。然后你可以构建任何字符串并将其作为shell表达式运行:
data = 'file.dat'
x = system("head -n 2 ".data." | tail -n 1 | awk '{print $1}'")