AとBの2つのデータセットがあります。各データセットの形式は、1行に1つの数値です。例えば、
12345
23456
67891
2345900
12345
Aの一部のデータはデータセットBに含まれていません。これらのすべてのデータをAに一覧表示する方法、およびAとBが共有するすべてのデータを一覧表示する方法。Linux/ UNIXコマンドを使用してどうすればよいですか?
comm
コマンドを使用します。
リストがファイルlistA
およびlistB
にある場合:
comm listA listB
デフォルトでは、commは3列を返します。 listAのみのアイテム、listBのみのアイテム、および両方のリストに共通のアイテム。
-1
、-2
、または-3
引数を使用して、個々の列を抑制することができます。
これにより、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