gnuplot和bash进程替换

时间:2013-10-10 08:09:13

标签: bash process gnuplot

gnuplot是否允许bash进程替换?

在gnuplot中,我可以这样做:

plot "<join tmp1 tmp2" u 2:3

但我不能让这个工作:

plot "<join tmp1 <(join tmp2 tmp3)" u 2:3

它是否有用,或者gnuplot不支持bash进程替换?

以下是3个示例输入文件:

cat tmp1

A 1
B 2
C 3

cat tmp2

B 3
C
D 6

cat tmp3

A 4
B 6
C 8
D 10
E 12

1 个答案:

答案 0 :(得分:5)

<后面的命令是使用popen()执行的,/bin/sh使用man popen(请参阅bash)。因此,您必须明确地调用plot '< exec bash -c "join tmp1 <(join tmp2 tmp3)"' using 2:3 才能使用进程替换:

plot '< join tmp2 tmp3 | join tmp1 -' using 2:3

在您使用单一替换的情况下,以下也会这样做:

{{1}}