4

我试图在 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}'

(与美元)

显然,这也是不正确的。

有任何想法吗?

4

2 回答 2

6

你需要使用一个

set macro

然后使用符号@获取变量的值data@在 Gnuplot 中就像$在 bash 中一样)

所以这应该有效

x = `cat @data | head -n 2 | tail -n 1 | awk '{print $1}'`
于 2013-09-04T16:28:16.367 回答
5

另一个替代 backtics 的可能性是使用该system功能。然后您可以构建任何字符串并将其作为 shell 表达式运行:

data = 'file.dat'
x = system("head -n 2 ".data." | tail -n 1 | awk '{print $1}'")
于 2013-09-04T18:31:10.270 回答