--- 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`으로 문자열을 찾은 예시 화면입니다. ![grep 명령어 실행 결과: 일치하는 로그 줄과 설정 위치](https://games.cursorai.co.kr/assets/grep-demo.png) 실제 운영 중인 서버 이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다. --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/logs/grep.html