Одним из способов было бы использовать grep
с его режимом расширенных регулярных выражений (-E
, использовать обратные -ссылки ), чтобы сопоставить значение в столбце 1 и напечатать все те строки, значение второго столбца которых равно тоже самое.
Первая часть ([^ ]+)
захватывает значение в первом столбце, а \1
относится к захваченному значению, поэтому вместе они представляют соответствие тем строкам, значение которых, захваченное в первом столбце, также совпадает со вторым. -c
предназначен для печати количества возвращенных строк.
grep -cE '([^ ]+) \1' file
Кроме того, чтобы избежать частичных совпадений, добавьте еще один флаг -x
и убедитесь, что нет символов (, даже белых -пробелов )до и после строки.