이개외않되/Linux / / 2023. 6. 7. 18:21

"grep 에서 쉘 메타문자( { }<- 이거 ) 사용이 안되는 문제 " 정리

728x90

🐋문제

핸드폰 번호를 찾고싶어서

grep 010-[0-9]{4} FileName

했는데 앙댐.

아무리 생각해도 이유를 모르겠음.

그래서 정답을 봤는데

grep '010-[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]' file명

이건 자존심이 허락을 안함



👻정리

grep 에서는 쉘 메타문자를 사용할수 없다.

 

 

 

그리고 정규 표현식을 사용하려면

grep 옵션중에 -P 를 사용해야된다.

grep -P Option

   -P, 
   --perl-regexp  
          Interpret PATTERNS as Perl-compatible regular expressions (PCREs).   This  option  is  
          experimental  when combined with the -z (--null-data) option, and grep -P may warn of  
          unimplemented features.

  --perl-regexp  
          패턴을 Perl 호환 정규식(PCRE)으로 해석합니다.   이 옵션은  
          z(--null-data) 옵션과 함께 사용하면 실험적이며, grep -P는 구현되지 않은 기능에 대해  
          경고할 수 있습니다.

grep -P : 나 정규표현식 갈긴답. 준비해랑

^ : 나 정규표현식 시작할께

010-\d : 010- 다음에 0~9 까지 아무숫자 와도 된답

{4} : 그거 4번 할께

grep -P '^010-\d{4}-\d{4}$' a

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유