ファイル B に表示される行を別のファイル A から削除するにはどうすればよいでしょうか? 質問する

ファイル B に表示される行を別のファイル A から削除するにはどうすればよいでしょうか? 質問する

私は大きなファイル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最初にパイプで処理します...

を参照してくださいマニュアルページはこちら

おすすめ記事