상세 컨텐츠

본문 제목

리눅스 grep 명령어 완벽 가이드 문자열 검색부터 정규표현식 활용까지

카테고리 없음

by 고지존 2025. 9. 18. 14:06

본문

 

 

리눅스에서 가장 많이 사용되는 텍스트 검색 도구 grep 명령어의 모든 것을 정리했습니다. 기본 문법부터 고급 활용까지 단계별로 배워보세요.

grep은 파일이나 입력 스트림에서 특정 문자열 패턴을 찾아 출력하는 명령어입니다. 로그 분석, 설정 파일 검색, 코드 확인 등 리눅스 환경에서 매우 자주 활용됩니다.

2. 기본 문법

grep [옵션] [패턴] [파일]

패턴은 문자열이나 정규표현식을 사용할 수 있으며, 파일 대신 다른 명령어의 출력과도 함께 사용할 수 있습니다.

3. 주요 옵션 정리

  • -i : 대소문자 구분하지 않고 검색
  • -v : 지정한 패턴과 일치하지 않는 라인 출력
  • -n : 라인 번호 출력
  • -r : 하위 디렉토리까지 재귀적으로 검색
  • -w : 전체 단어로 검색
  • -l : 파일 이름만 출력
  • -c : 검색된 라인 수 출력
  • -e : 정규표현식으로 검색
  • -f : 파일에서 검색 패턴을 불러와서 검색
  • -o : 일치하는 문자열만 출력
  • -q : 출력하지 않고 결과만 반환

4. 자주 쓰는 예제

# 대소문자 구분 없이 "test" 검색
grep -i "test" file.txt

# "tewst"이 포함되지 않은 라인 출력
grep -v "test" file.txt

# 라인 번호와 함께 "test" 검색
grep -n "test" file.txt

# 하위 디렉토리 전체에서 검색
grep -r "test" /path/to/directory/

# 전체 단어로 "test" 검색
grep -w "test" file.txt

# "test"이 포함된 파일 이름만 출력
grep -l "test" /path/to/directory/*

# 검색된 라인 수 출력
grep -c "test" file.txt
명령어 사용 예

 

5. 정규표현식 활용

# "test" 또는 "banana"가 포함된 라인 검색
grep -e "test|banana" file.txt

# 패턴 목록 파일을 이용한 검색
grep -f patterns.txt file.txt

# 일치하는 문자열만 출력
grep -o "test" file.txt

# 출력은 생략하고 결과만 반환 (스크립트 활용 시 유용)
grep -q "test" file.txt

팁: 정규표현식을 활용하면 더 정교한 검색이 가능합니다. 예를 들어 grep -E "[0-9]{3}-[0-9]{4}" file.txt 는 전화번호 패턴을 찾는 데 쓸 수 있습니다.

 

grep은 단순한 문자열 검색을 넘어 정규표현식과 결합해 강력한 분석 도구로 활용할 수 있습니다. 리눅스를 다루는 모든 사용자에게 꼭 필요한 기본 명령어이므로 자주 연습해 보시길 추천합니다.