Я обнаружил, что вы можете grep файл для 3 последовательных чисел, используя следующую команду:
grep "\([0-9]\)\\1\\1" chatlog.txt
Это отмечает все строки, которые имеют 3 последовательных идентичных номера. \\1
соответствует символу, который был найден в первой группе, в данном случае это число.
Таким образом, чтобы соответствовать 4 одинаковым номерам вы хотели бы:
grep "\([0-9]\)\\1\\1\\1" chatlog.txt
Вы можете определить это более гибким способом:
grep "\([0-9]\)\(\\1\)\{2,3\}"
Приведенное выше утверждение будет соответствовать серии из 3 или 4 последовательных идентичных номеров. Имейте в виду, что первая группа соответствует первой цифре. После этого вы подходите к этой группе еще два или три раза.
Итак, учитывая вход:
one: 1
two: 11
three: 111
four: 1111
Следующая команда:
grep -r "\([0-9]\)\(\\1\)\{2,3\}" test.txt
Возвращает:
three: 111
four: 1111