• 리눅스 grep으로 text 파일 파싱

    2025. 1. 21.

    by. Sohyun

     

    grep 명령어는 텍스트 파일에서 특정 패턴(문자열이나 정규식)을 검색할 때 사용


    1. 일반적인 grep 사용법

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

    2. 자주 사용하는 옵션

    옵션설명
    -i 대소문자를 구분하지 않고 검색.
    -v 패턴에 일치하지 않는 줄 출력.
    -c 패턴과 일치하는 줄의 개수 출력.
    -n 패턴이 일치하는 줄 번호와 함께 출력.
    -l 패턴이 일치하는 파일의 이름만 출력 (여러 파일 검색 시).
    -L 패턴이 일치하지 않는 파일의 이름만 출력.
    -r 또는 -R 하위 디렉토리를 재귀적으로 검색.
    -w 단어 단위로 패턴 검색 (예: word는 wording에 일치하지 않음).
    -x 패턴과 줄 전체가 일치하는 경우만 출력.
    -A N 패턴과 일치하는 줄 뒤로 N줄 추가 출력.
    -B N 패턴과 일치하는 줄 앞으로 N줄 추가 출력.
    -C N 패턴과 일치하는 줄의 앞뒤로 N줄 추가 출력.
    --color 검색된 패턴에 색상을 추가 (기본 설정에서는 활성화됨).
    -e "패턴" 여러 패턴을 OR 조건으로 검색할 때 사용.
    -f 파일명 파일에 저장된 여러 패턴을 읽어 검색.
    --exclude=파일 검색에서 특정 파일 제외.
    --include=파일 특정 파일만 검색.
    --help grep 명령어의 사용법과 옵션을 출력.

     

    사용 예시

    1. 대소문자 구분 없이 검색
       
      grep -i "hello" example.txt
    2. 일치하지 않는 줄 출력
       
      grep -v "error" log.txt
    3. 줄 번호와 함께 출력
       
      grep -n "pattern" file.txt
    4. 여러 패턴 검색
       
      grep -e "pattern1" -e "pattern2" file.txt
    5. 하위 디렉토리까지 재귀적으로 검색
       
      grep -r "TODO" .
    6. 앞뒤로 추가 줄 출력
       
      grep -A 2 -B 2 "error" log.txt
    7. 파일 이름만 출력
       
      grep -l "pattern" *.txt

     
    내가 자주 쓰는 명령어
     

    # 검색결과 출력
    cat 파일명 | grep "검색어"

    # 검색결과 앞뒤로 한줄씩 출력
    cat 파일명 | grep -A 1 -B 1 "검색어"

    # 검색어 여러개인 경우
    cat 파일명 | grep -A 1 -B 1 "검색어"  | grep -A 1 -B 1 "검색어2" 

    # 검색결과를 파일로 남기기
    cat 파일명 | grep -A 1 -B 1 "검색어" > newFile.txt

     

     
     

    '기타' 카테고리의 다른 글

    댓글