Linux | grep 명령어
포스트
취소

Linux | grep 명령어

grep

1
grep [OPTION...] PATTERNS [FILE...]

각 파일에서 PATTERNS을 검색해 패턴과 일치하는 각 줄을 출력한다.

일반적으로 PATTERNS은 따옴표로 묶어야 한다.

옵션

-V, --version

  • 버전 확인

패턴

-G, --basic-regex

  • 패턴을 기존 정규식으로 해석 (기본값)

-E, --extended-regexp

  • 패턴을 확장 정규식으로 해석

-F, --fiexed-strings

  • 패턴을 고정 문자열로 해석

매칭

-e [패턴], --regexp=[패턴]

  • 지정한 패턴으로 매칭을 시도한다. 이 옵션을 여러번 사용할 수 있다.

-f [FILE], --file=[FILE]

  • FILE 에서 한 줄당 패턴을 하나 가져온다.

-i, --ignore-case

  • 패턴의 대소문자를 무시하고 매칭한다.

--no-ignore-case

  • 패턴의 대소문자를 고려해 매칭한다. (기본값)

-v, --invert-match

  • 패턴과 매칭되지 않는 항목을 가져온다.

-w, --word-regexp

  • 한 단어와 정확히 일치하는 항목을 선택한다.

-x, --line-regexp

  • 한 줄과 정확히 일치하는 항목을 선택한다.
  • 정규식 패턴에서 ^, $ 로 둘러싼 것과 같다.

파일

-a, --text

  • 바이너리 파일을 텍스트로 처리

--binary-files=[TYPE]

  • 바이너리 파일을 어떤 타입으로 읽을지 지정 (기본값 : binary)

-r, --recursive

  • 재귀적으로 각 디렉터리 아래의 모든 명령을 읽는다.

-R, --dereference-recursive

  • 재귀적으로 각 디렉터리 아래의 모든 명령을 읽는다.
  • -r 옵션과 달리 모든 심볼릭 링크를 따라간다.

egrep, fgrep, rgrep (deprecated)

호환성을 위해 제공되지만 사용하지 않는다.

각각 grep -E, grep -F, grep -r 과 동일

응용

1
2
cat readme.md | grep main
# readme.md의 내용에서 main을 찾음
1
2
grep -r "main" ./*.c
# 확장자가 c 인 파일에서 main을 찾음
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.
바로가기