인프런 커뮤니티 질문&답변

권윤경님의 프로필 이미지
권윤경

작성한 질문수

리눅스 필수 유틸리티 4종 마스터 - awk, sed, grep, find

애플 macOS 환경에서 터미널 명령어를 사용하는 유저를 위한 내용

Mac 터미널 정규식 인식 오류

작성

·

480

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$
권윤경님의 프로필 이미지
권윤경

작성한 질문수

질문하기