Возникли проблемы с GREP и REGEX - PullRequest
2 голосов
/ 20 марта 2012

У меня есть текстовый файл, в котором хранятся комбинации из четырех чисел в следующем формате:

Num1,Num2,Num3,Num4
Num5,Num6,Num7,Num8
.............

У меня есть целая куча таких файлов, и мне нужно выполнить поиск для всех имен файлов, содержащих шаблонописанный выше.

Я построил свой grep следующим образом:

grep -l "{d+},{d+},{d+},{d+}" /some/path/to/file/name

grep завершает свою работу, ничего не возвращая.

Может кто-нибудь указать, что я могу делать неправильно с моимЗаявление grep?

Спасибо

Ответы [ 2 ]

2 голосов
/ 20 марта 2012

Одним из способов является использование perl регулярного выражения:

grep -Pl "\d+,\d+,\d+,\d+" /some/path/to/file/name

В вашем синтаксисе d буквально. Оно должно избегать этого письма, но не принимается grep регулярным регулярным выражением.

2 голосов
/ 20 марта 2012

Это должно делать то, что вы хотите:

egrep -l '[[:digit:]]+,[[:digit:]]+,[[:digit:]]+,[[:digit:]]+' /some/path/to/file/name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...