공학박사 권경안

grep 옵션 -v 설명: 특정 패턴 제외하고 출력하는 방법 본문

Programming/UNIX

grep 옵션 -v 설명: 특정 패턴 제외하고 출력하는 방법

Karl Kwon 2025. 3. 19. 01:16

grep은 리눅스에서 가장 강력한 텍스트 검색 도구 중 하나입니다.
특히 -v 옵션은 일치하는 패턴을 제외하고 출력할 때 매우 유용합니다.

이번 글에서는 -v 옵션을 사용하여 원하는 결과를 효율적으로 필터링하는 방법을 알아보겠습니다.


📌 grep -v 옵션이란?

먼저, man grep에서 -v 옵션의 공식 설명을 확인해 보겠습니다.

즉, 특정 패턴이 포함된 라인을 제외하고 출력할 때 사용됩니다.
예제를 통해 활용 방법을 살펴보겠습니다.


📝 예제 파일 (log.txt)

다음과 같은 로그 파일이 있다고 가정해 보겠습니다.

[INFO] Server started successfully.
[DEBUG] Connection established with DB.
[ERROR] Failed to load configuration.
[INFO] User logged in.
[DEBUG] Cache cleared.
[ERROR] Timeout while connecting to API.

🔹 예제 1: grep으로 특정 패턴 검색

먼저, "ERROR"가 포함된 라인을 검색해 봅시다.

$ grep "ERROR" log.txt
[ERROR] Failed to load configuration.
[ERROR] Timeout while connecting to API.

🔹 예제 2: -v 옵션으로 "ERROR" 라인 제외

이제 -v 옵션을 사용하여 "ERROR"가 포함된 라인을 제외하고 출력해 보겠습니다.

$ grep -v "ERROR" log.txt
[INFO] Server started successfully.
[DEBUG] Connection established with DB.
[INFO] User logged in.
[DEBUG] Cache cleared.

✅ "ERROR"가 포함된 두 개의 라인이 제거되었습니다.


🔹 예제 3: -n 옵션과 함께 사용하여 줄 번호 출력

줄 번호(-n)를 함께 출력하면 어떤 줄이 필터링되었는지 더 쉽게 파악할 수 있습니다.

$ grep -vn "ERROR" log.txt
1:[INFO] Server started successfully.
2:[DEBUG] Connection established with DB.
4:[INFO] User logged in.
5:[DEBUG] Cache cleared.

✅ "ERROR"가 있던 줄(3, 6번 줄)이 제외된 것을 확인할 수 있습니다.


🔹 예제 4: 여러 패턴을 한 번에 제외 (-E 옵션 사용)

만약 "DEBUG"와 "INFO"가 포함된 라인을 모두 제외하고 싶다면 어떻게 할까요?
이 경우 -E 옵션과 | 연산자를 사용하면 됩니다.

$ grep -Ev "DEBUG|INFO" log.txt
[ERROR] Failed to load configuration.
[ERROR] Timeout while connecting to API.

✅ "DEBUG"와 "INFO"를 포함하는 라인이 모두 제거되었습니다.


🚀 실전 활용: grep -v로 로그 파일 필터링

✅ 특정 에러만 제외하고 보기

“ERROR” 중에서 "Timeout"과 관련된 로그만 제외하고 싶다면?

$ grep "ERROR" log.txt | grep -v "Timeout"
[ERROR] Failed to load configuration.

이처럼 grep을 여러 번 연결하면 더욱 정교한 필터링이 가능합니다.


 

grep -v 옵션을 활용하면 로그 파일 분석이나 텍스트 데이터 필터링을 더욱 효과적으로 할 수 있습니다.
이제 직접 grep을 활용하여 원하는 결과를 빠르게 찾아보세요! 🚀

 

---
title: "grep -v 옵션 사용법"
date: 2009-08-15
updated: 2025-03-18
---

# grep -v 옵션: 특정 패턴 제외하고 출력하는 방법

 

'Programming > UNIX' 카테고리의 다른 글

Find 명령어로 파일갯수 찾기.  (0) 2014.03.15
UNiX : HTOP is a better TOP.  (0) 2011.09.29
UNIX - 쉘(Shell) 활용 log 정리  (0) 2009.06.10
UNIX - Shell 어제 날짜 구하기  (0) 2009.05.29
UNIX - ln (link files and directories)  (0) 2009.05.06