작성
·
487
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$