너무너무 유용하게 쓰고 있는 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 : 패턴매칭되기전 라인의 바이트수를 출력