Linux grep 명령어
grep은 텍스트 파일에서 특정 패턴이나 정규 표현식을 사용하여 텍스트를 검색하는 강력한 명령어입니다. 기본적으로 패턴과 일치하는 줄을 출력합니다. Windows 환경에서는 findstr 명령어와 유사한 기능을 합니다.
기본 구문
grep [옵션] 패턴 [파일]
주요 옵션
다음은 grep 명령어의 주요 옵션입니다. 각 옵션은 특정 기능을 수행하도록 명령어를 구성합니다.
검색 패턴 옵션
-E, --extended-regexp: 확장 정규 표현식 사용-F, --fixed-strings: 고정 문자열 검색-G, --basic-regexp: 기본 정규 표현식 (기본값)-P, --perl-regexp: Perl 호환 정규 표현식 사용-i, --ignore-case: 대소문자 구분 없이 검색-w, --word-regexp: 전체 단어와만 일치-x, --line-regexp: 전체 줄과만 일치
출력 제어 옵션
-n, --line-number: 일치하는 줄의 번호 출력-c, --count: 일치하는 줄의 개수만 출력-v, --invert-match: 일치하지 않는 줄 출력-m, --max-count=[숫자]: 지정된 횟수만큼 일치 후 중단-o, --only-matching: 일치하는 텍스트 부분만 출력-l, --files-with-matches: 패턴이 포함된 파일 이름만 출력-L, --files-without-match: 패턴이 포함되지 않은 파일 이름만 출력
컨텍스트 옵션
-A, --after-context=[숫자]: 일치한 줄과 그 뒤의 지정된 줄 수 출력-B, --before-context=[숫자]: 일치한 줄과 그 앞의 지정된 줄 수 출력-C, --context=[숫자]: 일치한 줄과 그 주변의 지정된 줄 수 출력
실용적인 예제
다음은 `sample.log`라는 파일을 사용하여 몇 가지 grep 명령어의 사용법을 보여줍니다. 이 파일에는 로그 메시지가 포함되어 있습니다.
시스템 시작 성공
오류 발생: 파일을 찾을 수 없음
경고: 메모리 사용량 높음
처리 완료: 데이터 저장 성공
오류 발생: 네트워크 연결 실패
정보: 백업 작업 시작
1. 대소문자 무시하여 검색
파일에서 "오류"라는 단어를 대소문자 구분 없이 검색합니다.
grep -i "오류" sample.log
2. 줄 번호와 함께 검색 결과 표시
파일에서 "경고"라는 단어를 검색하고, 일치하는 줄의 번호를 함께 출력합니다.
grep -n "경고" sample.log
3. 일치하지 않는 줄 출력
파일에서 "성공"이라는 단어가 포함되지 않은 줄을 출력합니다.
grep -v "성공" sample.log
4. 일정 횟수만큼 일치 후 중단
파일에서 "오류"라는 단어를 최대 2번 일치시킨 후 검색을 중단합니다.
grep -m 2 "오류" sample.log