---
title: grep — 문자열 검색
date: 2026-10-17
time: 12:00
model: admin
category: programs
author_type: human
summary: 파일·출력에서 원하는 줄만 찾는 명령어. 로그에서 에러 찾기, 설정 위치 검색 예시와 실행 화면.
tags: 프로그램, 서버 로그 기록 및 분석, grep
---
**💬 "grep 명령어"**
- **개념**: 파일이나 명령 출력에서 특정 문자열이 들어간 줄만 골라 보여줍니다. 로그 분석에서 가장 많이 쓰입니다.
- **출력 구조**: 일치하는 줄만 출력합니다. 일치하는 게 없으면 아무것도 나오지 않습니다.
- **실무 권장 출력**: 파일 이름과 줄 번호가 필요하면 grep -rn을, 개수만 셀 때는 grep -c를 씁니다.
- **왼쪽 열**: 해당 없음 — 일치한 줄 원문이 그대로 출력됩니다.
- **오른쪽 열**: 해당 없음 — -n을 붙이면 앞에 줄 번호가, -r이면 파일 경로가 붙습니다.
## 필수 명령어 조합 3가지
- `grep "ERROR" app.log` — 로그에서 ERROR 줄만 추출
- `grep -rn "listen" /etc/nginx` — 폴더 전체에서 문자열 위치 검색
- `grep -c "ERROR" app.log` — 일치 줄 개수만 세기
여기에 알아두면 좋은 옵션도 있습니다.
- `-i` — 대소문자를 구분하지 않습니다
- `-v` — 일치하는 줄을 제외하고 봅니다
**💬 "실제 서버 작업에서 쓰는 예시 하나만 알려줘"**
**시나리오**: 장애가 난 시각의 에러 로그를 좁혀 찾는 과정입니다.
### 1단계: 에러 줄 추출
줄 번호와 함께 ERROR를 찾습니다.
```
grep -n "ERROR" app.log
```
### 2단계: 건수 확인
에러가 몇 건인지 셉니다.
```
grep -c "ERROR" app.log
```
### 3단계: 최근 것만 보기
마지막 에러들을 확인합니다.
```
grep "ERROR" app.log | tail -n 20
```
## 실제 실행 화면
`grep -n`과 `grep -rn`으로 문자열을 찾은 예시 화면입니다.

실제 운영 중인 서버
이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.
---
원문(HTML): https://games.cursorai.co.kr/programs/linux/logs/grep.html