2016-12-05 47 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 

當然,你必須改變實際的過濾要求,以符合您確切的文件結構,並挑選正確的列。此外,還有很多其他方法可以做到這一點,重要的是在文件之前進行過濾。

相關問題