주요 옵션
`grep` 명령어의 다양한 옵션들을 조합하여 원하는 텍스트를 검색해 보세요.
1. 기본 검색
2. 검색 옵션
3. 출력 옵션
4. 재귀 검색
생성된 명령어:
명령어를 조합해 보세요.
설명:
`grep` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
정규 표현식 기초
`grep` 명령어는 강력한 텍스트 검색을 위해 정규 표현식(Regular Expressions)을 지원합니다. 정규 표현식을 사용하면 복잡한 패턴도 쉽게 찾아낼 수 있습니다.
문자 | 설명 | 예시 |
---|---|---|
. | 모든 단일 문자 (줄바꿈 제외) | `a.b` (acb, amb 등) |
* | 앞 문자가 0번 이상 반복 | `ab*c` (ac, abc, abbc 등) |
+ | 앞 문자가 1번 이상 반복 | `ab+c` (abc, abbc 등) |
? | 앞 문자가 0번 또는 1번 나타남 | `ab?c` (ac, abc) |
^ | 줄의 시작 | `^start` (start로 시작하는 줄) |
$ | 줄의 끝 | `end$` (end로 끝나는 줄) |
[abc] | 괄호 안의 문자 중 하나 | `[aeiou]` (모음) |
[a-z] | 범위 내의 문자 중 하나 | `[0-9]` (숫자) |
[^abc] | 괄호 안의 문자를 제외한 문자 | `[^0-9]` (숫자가 아닌 문자) |
\b | 단어 경계 | `\bword\b` (정확히 'word' 단어) |
| | OR 연산 (두 패턴 중 하나) | `cat|dog` ('cat' 또는 'dog') |
기본 정규 표현식(BRE)과 확장 정규 표현식(ERE)
`grep`은 기본적으로 BRE를 사용합니다. `+`, `?`, `|`, `(`, `)`와 같은 문자를 특별한 의미로 사용하려면 앞에 백슬래시(`\`)를 붙여야 합니다. `-E` 옵션을 사용하면 ERE 모드가 되어 이들 문자를 백슬래시 없이 사용할 수 있습니다. `-P` 옵션은 더 강력한 PCRE를 제공합니다.
사용 예시
`grep` 명령어의 실용적인 사용 예시들을 통해 텍스트 검색을 연습해 보세요.
로그 파일에서 'error' 검색
grep 'error' /var/log/syslog
`syslog` 파일에서 'error' 문자열이 포함된 모든 줄을 출력합니다.
대소문자 구분 없이 'failed' 검색 및 줄 번호 출력
grep -in 'failed' /var/log/auth.log
대소문자 관계없이 'failed'를 검색하고, 결과와 함께 줄 번호를 표시합니다.
특정 패턴이 없는 줄만 출력
grep -v '^#' /etc/nginx/nginx.conf
`nginx.conf` 파일에서 주석(#)으로 시작하는 줄을 제외하고 출력합니다.
하위 디렉토리를 포함하여 '.conf' 파일에서 'server_name' 검색
grep -r 'server_name' *.conf
현재 디렉토리와 모든 하위 디렉토리의 '.conf' 확장자를 가진 파일들에서 'server_name' 패턴을 재귀적으로 검색합니다.
특정 프로세스 찾기 (ps와 파이프 조합)
ps aux | grep apache2
`ps aux` 명령의 결과에서 'apache2' 관련 프로세스만 필터링하여 확인합니다.
여러 파일에서 'warning' 또는 'critical' 검색
grep -E 'warning|critical' /var/log/syslog /var/log/kern.log
정규 표현식의 OR(|) 연산자를 사용하여 여러 로그 파일에서 'warning' 또는 'critical' 메시지를 검색합니다.