私はUnixに2つの非常に大きなファイルを持っています。Unixのフィールドで2つのファイルを比較します
例:
ファイル1: ABC | DEF | GHK | IJK | LMN .... ...
File2の: ABC | DEF | GHK | IJK | 123 。 .. ...
私の仕事は、2つの大きなファイルを比較して、異なる列と行を探し出すことです。たとえば、出力は次のようになります。 列なし行なしファイル1ワードFile2ワード。
例:
5 1 LMN 123個の
ファイルが本当に大きいです。私はawkがUnixでのファイル解析を行う最も速い方法だと聞いています。出力はあまりにも長く待つことができないので。
これはawkを使用して行うことができますか?
はい、2つのファイルを同時に読むのは難しいですが、1つのファイルからすべての入力を保存してからそれを使用するのは、awkスクリプトの通常の操作モードです。あなたは何を試しましたか?どこに問題がありましたか? PerlやPythonを使用することができれば、1つのファイル全体をメモリにスラッピングするのを避ける方が簡単です。 –
Perlを使用しても、少なくとも1つのファイルをメモリに残しておく必要がありますか?そして、そのデータ構造を使用して2番目のファイルを比較します。 –
いいえ。 Perlを使用すると、ファイル1から1行、ファイル2から1行を読み込み、それらの行を比較して差分を出力します。リンスとリピート。 –