2013-05-14 7 views
1

Я должен искать во многих файлах с несколькими строками, линиями с номером телефона ровно десятью цифрами. Примеры линий:Правильный синтаксис квантификатора в шаблоне регулярных выражений с помощью grep в Solaris?

telephoneNumber: 66727166501 

telephoneNumber: 6672716650 

telephoneNumber: 66727166 

telephoneNumber: 6672716651 

Поэтому я Ожидая линии:

telephoneNumber: 6672716650 

telephoneNumber: 6672716651 

Я использую следующую команду Grep для поиска:

grep '^telephoneNumber: [0-9]\{10\}$' file.txt

Это прекрасно работает в Ubuntu, OpenSuse и Cygwin, но когда я запускаю его в Solaris, он не выполняет совпадения, если удалить конец $ в конце шаблона, он соответствует, bu t принимает это как «не менее 10 цифр»

Любые предложения?

+0

Try используя 'grep '^ phoneNumber: [0-9] \ {10 \} [^ \ d] *' file.txt' на пример данных, чтобы узнать, что происходит? Результат может указывать на что-то. – Jerry

+0

Спасибо за вашу помощь, но я, наконец, нашел ответ, скажу через несколько часов – user2295976

ответ

0

Причина проблемы была очень простой, я не осознавал этого, потому что, как я уже сказал, я выполнял команду в разных дистрибутивах без проблем (я не знаю почему), а также я не записывал файлы с опцией в текстовом редакторе

проблема заключалась в EOL файлов применить поиск, оригиналы файлов не имеют формат Unix, к сожалению, создание этих файлов не находится под моим контролем