0

comm または diff Linux コマンドを使用して、異なるファイルと比較しようとしています。各ファイルには、ボリューム名のリストがあります。ファイル A には 1500 のボリュームがあり、ファイル B には同じ 1500 のボリュームと別の 200 のボリュームがあり、合計で 1700 のボリュームがあります。ボリュームが一致していて異なる行にあるかどうかは気にしません。不一致のボリュームのみが必要ですが、diff および comm コマンドは行ごとに比較するだけのようです。comm または diff コマンドを使用してこれらの 200 ボリュームを見つける別のコマンドまたは方法を知っている人はいますか?

両方のファイルの最初の 5 行: (ところで、各行にはボリュームが 1 つしかないため、ファイル A には 1500 行、ファイル B には 1700 行あります)

ファイル A:

B00004
B00007
B00010
B00011
B00013

ファイル B:

B00003   
B00004   
B00007    
B00008    
B00010 

したがって、コマンドで最初の 5 行から B00003 と B00008 を表示する必要があります。これらのボリュームはファイル A にないためです。

4

2 に答える 2

1

awk も役立ちます。

 awk  'NR==FNR {a[$1]=$1; next}!($1 in a) {print $0}' fileA fileB
于 2016-06-06T01:49:12.157 に答える