[TIL] Linux grep 명령어

고은정·2021년 4월 30일
2

TIL

목록 보기
18/31
post-thumbnail

grep

너무너무 유용하게 쓰고 있는 grep 명령어를 깊이 알아보기 위해 정리한다.
grep명령어는 리눅스 명령어 중에서도 엄청나게 유용한데, 파일이나 표준입력(stdin) 으로부터 패턴을 찾아주는 역할을 한다. 즉, 특정 문자열을 찾는다고 생각하면 된다.

사용법

$ grep [OPTION] [PATTERN] [FILE]

옵션

옵션은 대소문자를 구분한다. 아래는 대표적인 옵션들이다.

  • -c : 파일의 내용 대신 문자열이 들어있는 라인의 수를 출력
    (2개의 라인에서 매칭된다면 2출력)

  • -n : 문자열이 들어있는 라인과 문두에 라인번호를 출력

  • -i : 문자열의 대소문자 구분하지 않음

  • -l : 문자열을 포함하는 파일의 이름 출력

  • -r : 서브 디렉토리의 파일까지 모두 출력

  • -v : 문자열이 제외된, 즉 문자열이 포함되어 있지 않은 라인을 출력

  • -e 패턴 : 패턴에서 찾을 문자열 명시, 패턴으로 PATTERN을 사용
    ("-으로 시작하는 패턴"을 보호하는데 유용)

  • -w : pattern 이 전체 단어와 일치하는 줄만 출력
    (단어의 일부로써 일치하는 경우가 아닌, 하나의 단어로써 일치하는 줄이 출력)

  • -x : pattern 이 전체 줄과 일치하는 줄만 출력

  • -a : 바이너리파일을 텍스트파일처럼 처리할 수있는 옵션
    (기본적으로 grep는 바이너리 파일을 처리할 수 없음)

  • -A : 패턴매칭라인 이후의 라인을 NUM수만큼 출력

  • -b : 패턴매칭되기전 라인의 바이트수를 출력

예제

  1. index.js에서 'root' 문자열이 있는 라인 출력
  2. index.js에서 'root' 문자열이 있는 라인번호 출력
  3. 경로 하위(/home/eunjeong/react-project/src/)에서 'Route' 문자열이 있는 라인 출력
profile
개발이 하고싶어요

0개의 댓글