[Linux/리눅스] 문자열 패턴 검색하기 (grep 명령어)
설명
리눅스에서는 'grep' 명령어를 통해 원하는 문자열 패턴을 포함하는 행들을 출력할 수 있다.
입력 파일이 있을 경우 입력 파일 내에서, 없는 경우 표준 입력 내에서 지정한 패턴을 검색하여 일치하는 행을 출력한다.
사용법
기본적인 사용법은 아래와 같다.
grep [OPTIONS] PATTERN [FILE]
'grep' 명령어는 단독으로 사용되기도 하지만 'find' 같은 출력 명령어와 함께 사용하여 원하는 결과를 필터링하는 데에도 자주 사용된다.
출력명령어 | grep PATTERN
'grep' 명령어에서 사용할 수 있는 옵션은 다음과 같다.
옵션 |
설명 |
-c |
패턴을 포함하는 행을 출력하는 대신, 일치하는 행의 수를 출력 |
-L |
패턴을 포함하지 않는 파일의 이름을 출력 |
-l |
패턴을 포함하는 파일의 이름을 출력 |
-m [NUM] |
파일당 일치하는 행을 최대 NUM 개까지만 출력 |
-o |
일치하는 부분만 출력 |
-q |
결과를 출력하지 않음 |
-s |
잘못된 입력 파일에 대한 오류 표시하지 않음 |
-i |
대소문자 구분하지 않음 |
-v |
패턴과 일치하지 않는 행만 출력 |
-n |
행 번호를 함께 출력 |
-w |
패턴과 같은 단어를 정확하게 포함하는 행만 출력 |
-x |
패턴이 전체 행과 일치하는 행만 출력 |
-r |
서브 디렉토리의 파일까지 모두 검사 |
-a |
바이너리 파일을 텍스트 파일처럼 인식하여 검사 |
사용 예제
1. 현재 디렉토리에서 'server' 를 포함하는 파일을 찾아서 출력
2. 현재 디렉토리의 파일 중 'lecture' 라는 문자열을 포함하는 파일만 출력
3. 현재 디렉토리의 모든 파일을 대상으로 'char' 라는 문자열을 포함하고 있는 행 출력
4. 3의 결과에 -w 옵션을 추가하여 정확하게 'char' 라는 단어를 포함하는 행만 출력
'개발 > Linux' 카테고리의 다른 글
[Linux/리눅스] C/C++ 멀티스레드 환경에서의 수행 시간 측정 방법 (clock_gettime 함수 이용) (1) | 2017.04.27 |
---|---|
[Linux/리눅스] 우분투 홈 디렉토리의 사용자 폴더 경로 변경하기 (0) | 2017.04.26 |
[Linux/리눅스] 디스크 용량 및 파일 용량 확인하기 (df, du 명령어) (0) | 2017.04.19 |
[Linux/리눅스] gcc, g++ 컴파일 최적화 방법 (0) | 2017.03.24 |