다음의 차이점을 알 수 있는 기억하기 쉬운 경험 법칙이 있습니까?
egrep
zgrep
grep
내 컴퓨터에 어떤 것이 설치되어 있는지 아시나요?
(다음과 같은 내용도 있는 것 같습니다. "GNU grep이 설치되어 있으면..., 그렇지 않으면...")
답변1
zgrep
일반적으로 압축 파일( 인식되는 압축 형식 사용) 로 압축되는 동반 스크립트 gzip
(아래 Stephen Kitt의 설명 참조)입니다 . 이것은grep
gzip
z
지ip (pkzip 압축 아카이브 형식이 아니라 파일 압축/압축용).
egrep
은 1970년대 후반 Unix V7에 도입된 명령으로, 이전 명령(그 자체는 고대 텍스트 편집기 의 명령을 grep
구현하는 별도의 명령 ) 에 비해 새로운 정규식 알고리즘과 구문을 갖습니다 . 이것은g/re/p
ed
grep
이자형대신 확장 정규 표현식(ERE)기본 정규식grep
(BRE)는 // sed
/ 로 이해됩니다 ed
.vi
\{
및 등 의 다른 연산자는 \<
나중에 일부 구현에 추가되었지만 grep
어떤 측면에서는 egrep
더 이상 기여 하지 않았습니다.grep
확장하다비교하다 egrep
.
1990년대 초 POSIX는 단일 명령( 작업 수행을 의미함 )으로 egrep
통합하고 ERE의 연산자를 RE 의 연산자 와 동일하게 만들려고 했습니다 (따라서 이전 버전과 호환되지 않음 ). 또한 옵션을 지정합니다.grep
grep -E
egrep
{min,max}
\{min,max\}
grep
egrep
-F
에프고정 문자열유틸리티를 검색하고 교체합니다 fgrep
.
오늘날에는 egrep
표준 명령이 아닙니다 fgrep
. 대부분의 시스템에는 운영자가 있지만 일부 구현에서는 {min,max}
운영자를 식별할 수 있고 일부 구현에서는 그렇지 않습니다.
grep
그리고 grep -E
그것은 표준입니다. 일부 구현에는 PCRE(또는 유사, PCRE 라이브러리와 함께 제공되는 명령 참조) 와 같은 grep
더 다양한 정규식 구문을 인식하기 위한 추가 스위치가 있습니다 .grep -P
perl
pcregrep
grep -X
향상시키다정규식...
지원되는 캐리어 목록은 grep
시스템마다 다릅니다. grep -E
이식성을 위해 POSIX 지정 목록으로 제한됩니다.
Solaris에서는 POSIX /usr/xpg4/bin/grep
와 /bin
호환되지 않는 .
다양한 압축 라이브러리/도구가 zgrep
, bzgrep
및 xzgrep
스크립트를 제공하지만 표준은 없습니다.
POSIX에서 지정한 유일한 압축기는 다음과 같습니다.compress
/uncompress
이것은 더 이상 아무도 사용하지 않는 1980년대 초반의 오래된 압축 형식입니다.
gzip
(GNU zip
) 오늘날에도 여전히 사용되고 gzip
대부분의 시스템(GNU 구현 또는 복제)에서 찾을 수 있는 또 다른 고대 압축 형식을 이해합니다. 따라서 다음을 수행할 수 있어야 합니다.
gzip -d < file.gz | grep BRE
또는:
gzip -d < file.gz | grep -E ERE
grep
gzip 압축 파일 로 변환합니다 . 적절한 도구에 액세스할 수 있는 한 다른 압축 형식에도 동일한 작업을 수행할 수 있습니다.