2つの列の行のうち、同じ数の数を計算する方法は?

2つの列の行のうち、同じ数の数を計算する方法は?

2つの列の数字を比較し、2つの列の行の同じ値がいくつかあるかを計算する必要があります。たとえば、

17 19  
17 17  
17 18  
19 19  
25 22  
34 34

予想出力:

3

awk各行は特定の遺伝子のため、並べ替えできません。技術的にはまだ授業で見たことがないので使用できません。これを行う方法はありますかgrep

ベストアンサー1

grep1つの方法は、拡張正規表現パターン(逆参照を使用)を使用して-E最初の列の値を一致させ、2番目の列の値も同じ行をすべて印刷することです。

最初の部分は([^ ]+)最初の列の値をキャプチャし、キャプチャされた\1値を参照するため、最初の列でキャプチャされた値が2番目の列の値と同じ行に一致することを示します。-c返された行数を印刷するために使用されます。

grep -cE '([^ ]+) \1' file

また、部分一致を防ぐには、別のフラグを追加し、行の-x前後に文字(スペースを含む)がないことを確認してください。

おすすめ記事