0

それぞれ 15 列のタブ区切りファイルが 2 つあり、行数は n および m です。

ファイル 1 の行数はファイル 2 の行数よりも多く、ファイル 1 にはファイル 2 に存在しない 15 行があるとします。

これらの行を見つけるにはどうすればよいですか?

ありがとうございました

4

3 に答える 3

2

このcommコマンドは、いずれかのファイルに固有の行、または両方に共通の行を見つけます。

comm -23 <( sort file1 ) <( sort file2 )

file1 のみの行を出力します (file2 のみの行と共通行は、 オプション-2-3オプションによって抑制されます。ファイルはソートされている必要があります。両方が同じキーでソートされている限り、ファイルがどのようにソートされているかは問題ではありません。そして同じように。

于 2013-03-25T13:02:35.490 に答える
1

joinコマンド、特に-aオプションが役立つ場合があります。

-a FILENUM は、FILE1 または FILE2 に対応する、FILENUM が 1 または 2 であるファイル FILENUM からのペアにならない行を出力します。

于 2013-03-25T13:09:01.943 に答える
1

これは役に立ちますか?

awk 'NR==FNR{a[$0];next}!($0 in a)' file2 file1
于 2013-03-25T12:49:32.747 に答える