2016-12-05 65 views
1

我有两个文件与几个列和行,让我们说gnuplot的:从不同的(大数据)绘图文件

文件1

X11 Y11 Z11 K11 ....... ....

X12 Y12 Z12 K12 ..........

X13 Y13 Z13 K13 ..........

文件2

X21 Y21 Z21 K21 ...........

X22 Y22 Z22 K22 ..........

X23 Y23 Z23 K23 ..........

我需要绘制file1中的一列,比如z-column和file2中的k-column。我不能将这两个文件与“粘贴”命令合并,因为它们太大而无法以这种方式处理。

回答

1

然后,你必须首先将两个文件将它们与paste合并之前进行过滤。一种可能性是使用bash和进程替换来在将它们粘贴在一起之前对文件进行过滤。

只有在命令行上,你会打开一个bash终端,并键入如

paste <(cut -d' ' -f 2 first.txt) <(cut -d' ' -f3 second.txt) > paste.txt 

这将需要从文件first.txt的第二列,从文件second.txt第三列在一起粘贴到文件paste.txt

要做到这一点上即时内的gnuplot(也https://stackoverflow.com/a/19290463/2604213看到的例子),尝试

plot '< exec bash -c "paste <(cut -d'' '' -f 2 first.txt) <(cut -d'' '' -f3 second.txt)"' using 1:2 

当然,你必须改变实际的过滤要求,以符合您确切的文件结构,并挑选正确的列。此外,还有很多其他方法可以做到这一点,重要的是在文件之前进行过滤。

相关问题