#grep
#grep
Вопрос:
Получен файл, подобный:
$ cat file1.txt
123456
1234n5678nn
12n4567890123
123n56n89n1n
Я пытаюсь:
grep -E 'n{3,}' file1.txt
чтобы получить только строки, в которых более двух вхождений n
(не обязательно должны быть последовательными), но это не сработало. Результат, который я хочу, это:
1234n5678nn
123n56n89n1n
Пожалуйста, обратите внимание, что я должен делать это только с помощью grep
or egrep
— невозможно использовать sed
or awk
.
Комментарии:
1. Должен быть лучший способ, но тот, который я могу придумать с самого начала,
grep -E "n.*n.*n" file1.txt
.2. Теперь 🙂 перейдем к самой интересной части — как мне отметить, что на этот вопрос получен ответ; спасибо!
3. @Rfroes87 должен скопировать свой комментарий в раздел ответов, затем вы принимаете его.
Ответ №1:
Вы могли бы сделать это следующим образом:
grep -E '(n.*){3,}' file1.txt
Или с использованием метода, который вы уже протестировали и который отлично работал:
grep -E 'n.*n.*n' file1.txt