주요 옵션
`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' 메시지를 검색합니다.