2列を2列と比較

2列を2列と比較

2つの列の値を他の2つの列の値と比較する必要があるファイルがあります。いくつかの例:

Item  A     B     C    D
1    201  3101   3101 201
2   3101   201    202 3101  
3   3101   201    201 3102 
4   3101   201   3202 202 

だから私がしたいのは熱を比較することです。&第二到着&Dしかし、列の値は&第二そして&D交換可能です。私はこの出力が欲しい22つの値が同じ場合、11つだけ一致0両方が一致しない場合。答えはこれです

Item  A     B     C      D   Output
1    201  3101   3101   201    2
2   3101   201    202  3101    1
3   3101   201    201  3102    1
4   3101   201   3202   202    0

どうやってこれを達成できますか?

ベストアンサー1

このawkオンラインツールを使用すると、目的の結果に非常に近づくことができます(少なくとも数字は正確です)。

awk '{n=0} $2==$4 {n=n+1} $2==$5 {n=n+1} $3==$4 {n=n+1} $3==$5 {n=n+1} {print $0, n}' inputfile

ここでは基本が使用されますawk。引用符の間の文字列は各行で実行され、括弧の間のブロックは前の文が真の場合にのみ実行されます。$ii番目の列を参照します。

おすすめ記事