我在Unix中有兩個非常大的文件,每個文件包含5列但是數百萬行。比較Unix中的兩個文件字段
例:
文件1: ABC | DEF | GHK | IJK | LMN .... ...
文件2: ABC | DEF | GHK | IJK | 123 。 .. ...
我的任務是比較兩個大文件,找出不同的列和行。例如,輸出爲: Column-no Row-no File1-word File2-word。
例:
5 1 LMN 123
的文件確實是很大。我聽說awk是在Unix中執行文件解析的最快方法。由於輸出不能等待太久。
這可以使用awk來完成嗎?
是的,它可以用'awk'完成 - 雖然同時從兩個文件中讀取很難,但是保存所有來自一個文件的輸入,然後使用它,而讀取第二個文件是awk腳本的正常操作模式。你嘗試了什麼,你遇到了哪些問題?如果你可以使用Perl或Python,你會發現避免將整個文件拖入內存變得更容易。 –
即使我使用Perl,我至少必須在內存中汲取一個文件嗎?然後使用該數據結構來比較第二個文件 –
否;使用Perl,你需要讀取文件1中的一行和文件2中的一行,然後比較這些行,並打印差異;沖洗並重復。 –