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
。引用符の間の文字列は各行で実行され、括弧の間のブロックは前の文が真の場合にのみ実行されます。$i
i番目の列を参照します。