1. ホーム
  2. linux

[解決済み] 別のファイルAからファイルBに表示される行を削除するにはどうすればよいですか?

2022-04-13 08:02:18

質問

大きな ファイルA (メールからなる)各メールに1行ずつ。また、別の ファイルB には、別のメールのセットが含まれています。

ファイルBに表示されるすべてのアドレスをファイルAから削除するには、どのコマンドを使用すればよいでしょうか。

つまり、ファイルAに含まれていた場合。

A
B
C

とファイルBが含まれています。

B    
D
E

そうすると、ファイルAは残るはずです。

A
C

さて、これはもっと頻繁に質問されているかもしれませんが、私が見つけたのは オンラインで1つのコマンド というエラーが出てしまいます。

何かお手伝いいただけると幸いです。誰かがきっと気の利いた一発芸を思いつくだろうが、私はシェルの専門家ではないので。

どのように解決するのですか?

ファイルがソートされている場合(あなたの例ではソートされています)。

comm -23 file1 file2

-23 は、両方のファイルにある行、またはファイル2のみにある行を抑制します。ファイルがソートされていない場合は、パイプで sort を先に...

をご覧ください。 のマニュアルページはこちら