반응형
리눅스 시스템에서 자주 사용되는 grep 명령어는 파일이나 출력에서 특정 패턴을 빠르게 검색하는 도구다. 시스템 로그 분석이나 텍스트 처리 작업에서 핵심적인 역할을 하며, 다양한 옵션을 통해 검색 결과를 세밀하게 조정할 수 있다. grep의 주요 기능과 유용한 옵션들을 정리하였다.
1. 기본 사용법
grep '찾을문자열' 파일명
2. 옵션
옵션 | 설명 |
-i | 대소문자를 구분하지 않고 검색 |
-v | 검색 패턴과 일치하지 않는 라인을 출력 |
-n | 검색된 라인의 번호를 함께 출력 |
-r | 하위 디렉토리까지 검색 |
-w | 정확하게 검색 패턴과 일치하는 단어만 검색 |
-e | 여러개 검색 패턴을 지정 |
-c | 검색 결과에서 일치하는 라인의 개수만 출력 |
-l | 일치하는 라인이 포함된 파일 이름만 출력 |
-x | 검색 패턴과 정확하게 일치하는 라인만 출력 |
-m | 지정된 개수만큼 일치하는 라인을 출력 |
-A | 일치하는 라인 다음 지정된 개수의 라인을 함께 출력 |
-B | 일치하는 라인 이전 지정된 개수의 라인을 함께 출력 |
-C | 일치하는 라인 앞/뒤 지정된 개수의 라인을 함께 출력 |
-f | 검색 패턴을 지정한 파일에서 출력 |
--exclude | 지정된 파일 패턴을 제외하고 검색 |
--include | 지정된 파일 패턴만 검색 |
3. 옵션 사용법
- -i : 대소문자를 구분하지 않고 검색
grep -i 'moon' test.txt
- -v : 검색 패턴과 일치하지 않는 라인을 출력
grep -v 'moon' test.txt
- -n : 검색된 라인의 번호를 함께 출력
grep -n 'moon' test.txt
- -r : 하위 디렉터리까지 검색
grep -r 'moon' .
- -w : 정확하게 검색 패턴과 일치하는 단어만 검색
grep -w 'moon' test.txt
- -e : 여러 개 검색 패턴을 지정
grep -e 'moon' -e 'sun' test.txt
- -c : 검색 결과에서 일치하는 라인의 개수만 출력
grep -c 'moon' test.txt
- -l : 일치하는 라인이 포함된 파일 이름만 출력
grep -l 'moon' test.txt
- -x : 검색 패턴과 정확하게 일치하는 라인만 출력
grep -x 'moon' test.txt
- -m : 지정된 개수만큼 일치하는 라인을 출력
grep -m 2 'moon' test.txt
- -A ,-B, -C : 일치하는 라인 앞/뒤 지정된 개수의 라인을 함께 출력 (-A 다음) (-B 이전) (-C 앞뒤)
grep -A 2 'moon' test.txt
- -f :검색 패턴을 지정한 파일에서 출력
grep -i 'moon' test.txt
- --exclude : 지정된 파일 패턴을 제외하고 검색
grep 'moon' --exclude '*.txt' *
- --include : 지정된 파일 패턴만 검색
grep 'moon' --include '*.txt' *