1. ホーム
  2. unix

[解決済み] 別のファイルに存在しない行をファイルから検索する [重複] 。

2022-08-02 02:59:35

質問

私は2つのファイル(仮に a.txtb.txt ) の両方が名前のリストを持っています。私はすでに実行した sort を実行しました。

ここで、私は以下の行を見つけたい a.txt に存在しない行を見つけたい。 b.txt .

(この質問に対する答えを見つけるために多くの時間を費やしたので、将来の参考のために文書化しておきます)

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

使用するコマンドは diff ではなく comm

comm -23 a.txt b.txt

デフォルトでは comm は3つのカラムを出力します。 左のみ , 右のみ , 両方 . は -1 , -2-3 スイッチでこれらのカラムを抑制することができます。

では -23 を非表示にします。 右のみ 両方 の列で、最初の(左の)ファイルにのみ表示される行を示します。

両方に現れる行を探したい場合は -12 を隠すことができます。 左のみ 右のみ の列を残して の両方が残ります。 カラムだけが残ります。