• 카테고리

    질문 & 답변
  • 세부 분야

    시스템

  • 해결 여부

    미해결

Mac 터미널 정규식 인식 오류

23.02.12 20:15 작성 조회수 372

1

 grep 은 잘되는데 정규식을 이용하면 아래와 같이 패턴검색이 안되는데 원인을 모르겠습니다.

zsh: no matches found: [hH]ello

답변 1

답변을 작성해보세요.

0

안녕하세요, 권윤경님!

요즘 맥OS 는 기본 쉘로써 BASH 가 아닌 ZSH(제트쉘) 을 사용하죠

맥 터미널(ZSH)에서 다음과 같은 명령어를 입력해보면 서로 다른 결과가 나오는 것을 알 수 있습니다

admin👻 echo "Helloworld" | grep -o [hH]ello
zsh: no matches found: [hH]ello
admin👻 echo "helloworld" | grep -o [hH]ello
zsh: no matches found: [hH]ello
admin👻 echo "Helloworld" | grep -o '[hH]ello'
Hello
admin👻 echo "helloworld" | grep -o '[hH]ello'
hello
admin👻

결론적으로 단일 인용부호로 패턴을 감싸주세요. ^^

하지만, BASH 쉘에서는 인용부호와 관계없이 동작하는 것을 볼 수 있습니다.

admin👻 
admin👻 bash
bash-5.1$
bash-5.1$ echo "Helloworld" | grep -o [hH]ello
Hello
bash-5.1$ echo "Helloworld" | grep -o '[hH]ello'
Hello
bash-5.1$