2013-11-19 2 views
2

задать расширенные у меня есть миллион плюс текстовый файл, содержащие строки, подобные нижеКак найти конкретный шаблон с запятыми и цифрами с помощью

abc,xyz, =12093| 
abc,xyz, =12093, =10998| 

Первая линия это хорошо, но я хочу, чтобы найти всю вторую строчку. то есть я хочу, чтобы напечатать все строки, которые, как шаблон , =<some number> , =<some number>

Так пытавшихся следуя с без каких-либо задать расширенное везения

egrep -nr ",\s=\d+,\s=\d+" fileFolder 

Он не дал результатов, но я проверил это вручную, и там было много выше вторых строк.

интересно регулярное выражение прекрасно работает на Rubular http://rubular.com/r/GYynEEoFm7

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

+0

ли есть задать расширенный переключатель, чтобы включить частичное совпадение строки? Где может быть по умолчанию полный матч. Или это может быть обратная косая черта, которую нужно избегать, когда в двойных кавычках. – sln

ответ

3

\d не поддерживается в регулярном выражении grep (ERE). Используйте [0-9]

egrep -nr ", =[0-9]+, =[0-9]+" fileFolder 
+0

Есть ли у esrep расширенный переключатель режима? Или я с базы? – sln

+0

egrep такой же, как grep -E, и \ d поддерживается только в grep -P – anubhava

+0

+1. Спасибо, я не egrep не поддерживает \ d – Watt

0

Вы также можете сделать это с awk

awk '/[0-9]+,[^0-9]*[0-9]+/' file 
or 
awk '/[0-9]+, =[0-9]+/' file 
Смежные вопросы