2つのgzip圧縮ファイルで共通行を見つける

2つのgzip圧縮ファイルで共通行を見つける

2つの大きなgzipファイルがあります。共通行を見つける必要があります。 Zgrep(gzip)はこの操作を広く実行できますが、zgrep -f <unzipped file> <zipped file>それを実行するスイッチは見つかりませんzgrep -f <zipped file> <zipped file>。私は何を逃したことがありませんか?

答え1

gunzip(1)これにより、sort(1)ファイルを処理して結果を使用する方がcomm(1)効率的です。

答え2

GNUはgrep(1)望むことはできませんが、システムとシェルがそれをサポートしている場合は、プロセス置換を使用して同様の結果を得ることができます。

$ grep -f <(gunzip < zipped_patterns.txt.gz) zipped_data.txt.gz

gunzip < file.gzプロセス置換で入力リダイレクト()を使用すると、解凍されたgunzip(1)データをディスクに書き込むことなく、メモリ内のファイルを解凍します。スキーマファイルが使用可能なRAMと比較して十分に大きい場合、システムの競合が発生する可能性が高くなります。 〜のように電話ブランドファイルをソートして使用する方がcomm(1)効率的であることを指摘しています。

関連情報