web-dev-qa-db-ja.com

2つのプレーンデータセットの違いと重複をリストする

重複の可能性:
ファイルをセットとして扱い、それらに対してセット操作を実行するLinuxツール

AとBの2つのデータセットがあります。各データセットの形式は、1行に1つの数値です。例えば、

12345
23456
67891
2345900
12345

Aの一部のデータはデータセットBに含まれていません。これらのすべてのデータをAに一覧表示する方法、およびAとBが共有するすべてのデータを一覧表示する方法。Linux/ UNIXコマンドを使用してどうすればよいですか?

7
user288609

commコマンドを使用します。

リストがファイルlistAおよびlistBにある場合:

comm listA listB

デフォルトでは、commは3列を返します。 listAのみのアイテム、listBのみのアイテム、および両方のリストに共通のアイテム。

-1-2、または-3引数を使用して、個々の列を抑制することができます。

16
Tim Kennedy

これにより、Aには存在するがBには存在しない固有のアイテムが得られます。

cat A|Perl -ne '$z=$_;chomp($z);$y=`grep $z B`;if ($y== "") {print "\n$z";}'|sort -u

これにより、AとBの両方に共通するアイテムのリストが表示されます。

cat A |xargs -i grep {} B|sort -u
1
neuron34