a.txt:
1;john;125;3
1;tom;56;2
2;jack;10;5
b.txt:
1;john;125;3
1;tom;58;2
2;jack;10;5
通信を使用:
comm -13 a.txt b.txt
1;tom;58;2
comm
へのコマンド ライン オプション 非常に簡単です:
-1 列 1 を抑制 (FILE1 に固有の行)
-2 列 2 を抑制 (FILE2 に固有の行)
-3 列 3 を抑制 (両方のファイルにある行)
diff
よりも優れていると思われる簡単な解決策を次に示します。 :
sort file1 file2 | uniq -u
sort file1 file2
2 つのファイルを連結して並べ替えますuniq -u
一意の行 (繰り返されない) を出力します。入力を事前にソートする必要があります。
グループ書式指定子を使用すると、変更されていない行の印刷を抑制し、変更された行のみを印刷できます
diff --changed-group-format="%>" --unchanged-group-format="" file1 file2
ファイル 2 に固有の行のみを保持したい場合、次のことができます:
comm -13 file1 file2
comm
に注意してください コマンドは、2 つのファイルがソートされていることを想定しています。