개요
리눅스 환경에서 bzip2로 압축된 대용량 로그 파일을 압축 해제 없이 바로 검색할 수 있는 bzegrep 명령어 실무 활용법을 다룹니다. 기본 사용법부터 복합 정규표현식 필터링까지 실습 예제를 통해 빠르게 익힐 수 있습니다.
실습 환경 구성 및 bzip2 패키지 준비
bzegrep 명령어 실습 진행을 위해 관련 도구가 포함된 bzip2 패키지를 설치합니다.

bzegrep 실습을 위한 전용 공간을 만들고 이동하기 위해 mkdir -p /tmp/bzegrep-lab && cd /tmp/bzegrep-lab 명령어를 실행합니다.

검색 실습에 사용할 로그 데이터를 준비하기 위해 app.log 샘플 파일을 생성합니다.

원본 파일을 유지한 채 실습용 압축 파일을 만들기 위해 bzip2 -k app.log 명령어를 실행합니다.

압축 파일이 정상적으로 생성되었는지 확인하기 위해 ls -lh app.log.bz2 명령어로 파일 상세 정보를 조회합니다.

압축 해제 없이 bz2 파일 내 키워드 검색하기
실습을 진행하기 위해 앞서 생성한 작업 디렉터리로 이동하고자 cd /tmp/bzegrep-lab 명령어를 실행합니다.

bzegrep 명령어를 사용하여 app.log.bz2 압축 파일을 해제하지 않고 내부에서 ERROR 키워드가 포함된 로그 라인을 검색합니다.
압축을 푸는 과정 없이 파일 내에 기록된 오류 메시지를 즉시 확인할 수 있습니다.

대소문자를 구분하지 않고 검색하기 위해 -i 옵션을 추가하여 warn 키워드를 검색합니다.
소문자로 지정했음에도 대문자로 기록된 WARN 로그 라인이 정상적으로 매칭되어 출력됩니다.

일치하는 내용이 위치한 행 번호를 함께 확인하기 위해 -n 옵션을 지정하여 Database 키워드를 검색합니다.
출력 결과 맨 앞에 원본 데이터 기준의 행 번호인 3이 함께 표시됩니다.

확장 정규표현식(ERE)을 활용한 다중 패턴 검색
실습을 계속 진행하기 위해 작업 디렉터리로 이동하고자 cd /tmp/bzegrep-lab 명령어를 실행합니다.

확장 정규표현식의 파이프(|) 기호를 사용하여 app.log.bz2 압축 파일 내에서 ERROR 또는 FATAL 키워드가 포함된 로그 라인을 동시에 검색합니다.
조건에 부합하는 오류 및 치명적 시스템 메시지가 함께 추출되어 출력됩니다.

날짜 형식으로 시작하면서 WARN 또는 ERROR 키워드를 포함하는 라인을 찾기 위해 정규표현식 패턴을 지정하여 검색합니다.
복잡한 패턴 조건과 정확히 일치하는 경고 및 오류 로그 라인만 선별되어 출력됩니다.
![bzegrep ‘^[0-9]{4}-[0-9]{2}-[0-9]{2}.*(WARN|ERROR)’ app.log.bz2](/ubuntu/20261015_012037_72/captures/s03_c03_bzegrep____0-9__4_-_0-9__2_-_0-9__2____WARN_ERROR.png)
일치하지 않는 라인을 반전 출력하는 -v 옵션을 추가하여 INFO 키워드가 포함되지 않은 로그만 검색합니다.
일반 안내성 로그가 모두 제외되고 주의 및 오류 관련 로그 라인만 출력됩니다.

다중 압축 파일 일괄 검색 및 파일명 출력
실습을 계속 진행하기 위해 작업 디렉터리로 이동하고자 cd /tmp/bzegrep-lab 명령어를 실행합니다.

다중 파일 검색 실습에 사용할 추가 로그 데이터를 준비하기 위해 worker.log 샘플 파일을 생성합니다.

실습용 압축 파일을 구성하기 위해 bzip2 worker.log 명령어를 실행하여 로그 파일을 압축합니다.

여러 압축 파일(*.bz2)을 대상으로 ERROR 키워드를 검색하며, 매칭된 결과 앞에 파일명을 명시적으로 표시하기 위해 -H 옵션을 지정합니다.
각 압축 파일 내에서 일치하는 오류 로그 라인과 함께 해당 파일의 이름이 앞에 붙어 출력됩니다.

로그 라인 전체 대신 검색 키워드가 포함된 압축 파일의 이름만 확인하기 위해 -l 옵션을 사용하여 검색합니다.ERROR 키워드가 검출된 압축 파일의 목록만 간결하게 나열되어 출력됩니다.

각 압축 파일마다 검색 조건과 일치하는 라인의 총 개수를 확인하기 위해 -c 옵션을 추가하여 검색합니다.
각 파일별로 ERROR 로그가 매칭된 건수가 숫자로 집계되어 출력됩니다.

지금까지 우분투에서 bz2 압축을 해제하지 않고도 파일 내부를 빠르게 검색하는 bzegrep 명령어의 사용법을 간단하게 살펴보았습니다.
대용량 bz2 로그나 텍스트 데이터를 분석할 때 bzegrep을 적극 활용하여 디스크 용량과 작업 시간을 효율적으로 절약해보시길 바랍니다.