私は大きなファイルA(メールで構成される)、メールごとに1行。また、ファイルB別のメールセットが含まれています。
ファイル B に表示されるすべてのアドレスをファイル A から削除するには、どのコマンドを使用すればよいですか。
したがって、ファイル A に次の内容が含まれている場合:
A
B
C
ファイル B には次の内容が含まれていました:
B
D
E
ファイル A には次の内容が残ります:
A
C
これはもっと頻繁に聞かれる質問かもしれないが、私が見つけたのは1つのコマンドをオンラインで区切り文字が間違っているためエラーが発生しました。
どなたか助けていただければ幸いです。きっと誰かが巧妙なワンライナーを思いつくでしょうが、私はシェルの専門家ではありません。
ベストアンサー1
ファイルがソートされている場合(例ではソートされています):
comm -23 file1 file2
-23
両方のファイルにある行、またはファイル 2 にのみある行を抑制します。ファイルがソートされていない場合は、sort
最初にパイプで処理します...
を参照してくださいマニュアルページはこちら