2013-05-14 5 views
1

여러 줄의 파일을 여러 줄로 검색해야합니다. 줄의 전화 번호는 정확히 10 자리입니다. 라인의 예 :Solaris에서 grep을 사용하는 정규 표현식 패턴에서 한정 기호의 올바른 구문은 무엇입니까?

telephoneNumber: 66727166501 

telephoneNumber: 6672716650 

telephoneNumber: 66727166 

telephoneNumber: 6672716651 

그래서 내가 기대하고있는 라인 :

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

이 글은 잘 작동 : 나는 검색을위한 다음 그렙 명령을 사용하고

telephoneNumber: 6672716650 

telephoneNumber: 6672716651 

우분투, OpenSuse 및 Cygwin에서,하지만 솔라리스에서 실행할 때 패턴의 끝에 $을 삭제하면 일치하지 않습니다. bu T는 "적어도 10 자리"처럼 받아들입니다.

어떤 제안이 있습니까?

+0

시도를받지 않는 'grep '을 사용하여^telephoneNumber : 샘플 데이터에 [0-9] \ {10 \} [^ \ d] *'file.txt' 출력 결과가 표시 될 수 있습니다. – Jerry

+0

도움을 주셔서 감사합니다.하지만 마침내 대답을 찾았습니다. 몇 시간 후에 알려 드리겠습니다. – user2295976

답변

0

문제의 원인은 매우 간단했습니다. 내가 말했던 것처럼, 나는 문제가없는 다른 배포판에서 명령을 실행했기 때문에 (나는 이유를 모르겠다) 또한 파일을 씹어 먹지 않았기 때문에 깨닫지 못했습니다. 텍스트 편집기에서 옵션을

문제는 검색을 적용 할 파일의 EOL이었다, 원본 파일은 유닉스 형식을 가지고 있지 않은, 유감스럽게도, 이러한 파일의 생성은 내 컨트롤