우분투처럼 'grep'을 작동시키는 방법?


24

grep터미널에서 하나의 패턴을 일치 시키려고했지만 결과가 나오지 않습니다.

$ grep -R 'networks'
grep: warning: recursive search of stdin

grepmacOS는 BSD를 기반으로 grep하고 Ubuntu는 GNU를 기반으로 한다는 것을 알고 있습니다.

우분투에서와 같이 macOS에서 'grep'을 작동시키는 방법은 무엇입니까?

답변:


33

-R옵션을 사용하면 MacOS grep에서는 검색 할 디렉토리를 명시 적으로 지정해야합니다. 예를 들어, .현재 디렉토리를 재귀 적으로 검색하도록 지정 하십시오.

grep -R 'networks' .

9

장기적으로 GNU 기반의 도구를 설치하거나 Ubuntu를 가상으로 실행하는 것이 가장 좋습니다. 둘 다 무료로 사용할 수 있습니다.

brew install coreutils( https://brew.shbrew 에서 homebrew를 설치 해야하는 명령 을 실행하려면 ) GNU 버전의 도구를 경로에 넣으십시오. coreutils 가 포함 된 내용을 시간이 지남에 따라 변경하는 경향이 있으므로 설치할 명령 및 독립형 패키지를 찾으십시오 .ggrepgrep

(편집 : 2018 년 현재 grep구체적coreutils 으로 다음과 같이 별도로 설치해야 합니다.

$ brew install grep
$ ggrep sometext file.txt     # Note the executable is called ggrep with two G's

ggrep두 개의 G 가있는 고유 한 실행 파일 이름 이 있습니다.)

또한 GNU 또는 coreutils를 검색하면 컨텍스트 및 팁 / 트릭에 도움이됩니다.


2
적어도 지금 grepcoreutils패키지에 포함되어 있지 brew않지만grep
fejese

2
또한 실행 파일은 ggrep(리딩 g) 라고 합니다.
dotancohen

1
감사합니다 @dotancohen-상황이 확실하면 답변을 편집하십시오. 개정 이력이 있으며 변경 사항이 한 사람에게 명확하지 않거나 추가 검토 / 조정이 필요한 경우 언제든지 채팅 할 수 있습니다. 댓글 +
1-
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.