Использование Regex для поиска нескольких вхождений слова - PullRequest
2 голосов
/ 14 сентября 2011

Как мне найти x или более вхождений слова с помощью регулярных выражений и grep в файле .txt в терминале linux, например, найти все строки с 4 или более "и" в Sample.txt.

Ответы [ 2 ]

1 голос
/ 14 сентября 2011

Попробуйте:

egrep "and(.*?and){3}" data.txt 

И для совпадения "and" независимо от регистра ("And" или "AND", ...), но пропустите "and", который является частью другогоword (или name), попробуйте:

egrep -i "\band\b(.*?\band\b){3}" data.txt

-i заставляет игнорировать регистр, а границы слова \b игнорируют такие случаи, как "Anand" и "Anderson".

0 голосов
/ 14 сентября 2011

Если вам нужно соответствовать and, но не bandit, используйте что-то вроде следующего:

egrep '\band\b(.+?\band\b){3}' Sample.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...