내 컴퓨터가 macOS 10.12.3을 실행 중이고 시스템 설치 grep
유틸리티를 버전 2.5.1-FreeBSD와 함께 사용하고 있습니다 .
다음은 다양한 정규식을 테스트 할 때 얻는 결과입니다.
그러나 GNU grep (버전 2.25)을 사용하여 이것을 실행하면 다음과 같은 결과가 나타납니다.
GNU의 grep은 나에게 옳고 BSD는 정확하지 않습니다. 왜 다른가요? 정규식에서 줄의 시작 부분을 따라야한다고 지정할 때 BSD의 grep이 "a"와 일치하는 이유를 이해하지 못합니다.
2
첫 번째 행동을 버그로보고하십시오.
—
Satō Katsura
당신은 그것이
—
스테판 Chazelas가에게
echo 'bababa' | grep -E '^(a|b)'
모두 빨간색 임을 알 수 있습니다. 와 같은 문제가 발생합니다 -o
. 나는 추측 grep
여러 일치하는 외모,하지만 두 번째 경기 이상을 위해, 그것은 (그래서 이전 시간 일치 무엇의 오른쪽에 무엇에 정규 표현식 적용 anana
REG_NOTBOL 플래그를 거치지 않고 귀하의 경우 두 번째에를). 참조echo banana | grep -Eo '^ban|^ana$'
@JdeBP, 내 OS X에,
—
ilkkachu
grep
같은 식별 자체 grep (BSD grep) 2.5.1-FreeBSD
전용 "GNU 버전과의 호환성을 위해 제공 긴 옵션"을 언급하여 GNU 참조 매뉴얼 페이지와. 또한 GPL (또는 FSF)에 대한 저작권 고지 나 언급이 없습니다. GNU util의 역사가 있다면 말하기가 어렵습니다.
우리는 이것이 오도 하는 방법을 보여주고 있습니다. (-:
—
JdeBP
grep
많은 사람들이 생각하고있는 Decade Moon의 답변에서 논의 된 것은 grep (GNU grep) 2.5.1-FreeBSD
(버그 토론에서 볼 수 있듯이 ) 올바른 것으로 식별되고 , FSF 저작권 고지가 있으며, 가장 확실하게 GNU grep
입니다. FreeBSD가 부르는 bsdgrep
것은 OpenBSD입니다 FreeBSD 변종을 제외하고 옵션 이없는 grep
BSD를 호출합니다 . 이것이 버그 토론에서 한 사람이 FreeBSD가 전환 하도록 제안한 것입니다 .grep
--color
grep (BSD grep) 2.5.1-FreeBSD
grep