IT 관련/우분투(Ubuntu) 이것저것

grep 명령어

islet2 2025. 4. 5. 11:49

우분투 grep 명령어 사용법

grep 명령어는 리눅스(우분투 포함)에서 파일 내의 특정 문자열을 찾을 때 사용하는 매우 유용한 도구입니다. 로그 분석이나 텍스트 파일에서 원하는 정보를 추출할 때 자주 사용됩니다.

기본 사용법

grep [옵션] "문자열" [파일명]

예시:

grep "error" 2023-04-03.log

자주 사용하는 옵션

  • -i: 대소문자를 구분하지 않고 검색
  • -n: 줄 번호와 함께 검색 결과 표시
  • -v: 지정한 문자열이 포함되지 않은 행만 출력
  • -w: 단어 단위로 문자열 검색
  • -r: 하위 디렉토리를 포함한 모든 파일에서 검색
  • -m [숫자]: 최대 출력 수 제한
  • -H: 검색 결과 앞에 파일 이름 표시
  • -c: 일치하는 행의 수만 출력

활용 예시

1. 특정 파일에서 문자열 찾기

grep "error" app_2023_04_03.log

2. 대소문자 구분 없이 검색

grep -i "error" app_2023_04_03.log

3. 줄 번호와 함께 표시

grep -n "error" app_2023_04_03.log

4. 특정 문자열이 없는 행 검색

grep -v "error" app_2023_04_03.log

5. 현재 디렉토리의 모든 파일에서 검색

grep "error" *

6. 하위 디렉토리 포함하여 검색

grep -r "error" *

7. 검색 결과 제한

grep -m 50 "error" app_2023_04_03.log

여러 문자열 검색 방법

1. 여러 문자열 한 번에 검색

grep "문자열1\|문자열2" [파일명]

2. 파이프를 사용한 여러 조건 검색

grep "문자열1" [파일명] | grep "문자열2"

3. 검색 결과를 파일로 저장

grep "문자열" [파일명] >> [저장할 파일명]

정규표현식 활용

  • ^문자열: 문자열로 시작하는 행 검색
  • 문자열$: 문자열로 끝나는 행 검색
  • [a-c]: a, b, c로 시작하는 행 검색
  • a...z: a로 시작하고 z로 끝나는 5글자 단어 검색

다른 명령어와 조합

실시간 로그 모니터링

tail -f [로그파일] | grep "error"

grep 명령어는 리눅스 시스템 관리와 개발 작업에서 매우 유용하게 활용될 수 있는 강력한 도구입니다.