Repolode
davidesantangelo

davidesantangelo/krep

SIMD 가속과 정규식 지원을 갖춘, grep 호환 멀티스레드 고속 명령줄 문자열 검색 도구입니다.

대체할 수 있는 제품:grep

스타
529
포크
26
열린 이슈
6
마지막 커밋
지난달

어떤 프로젝트인가요?

krep은 C로 작성된 명령줄 텍스트 검색 도구로, 대규모 패턴 검색에서 grep보다 빠르게 동작하도록 설계되었습니다. 패턴에 따라 Boyer-Moore, KMP, Two-Way, Shift-Or, Aho-Corasick 등 여러 검색 알고리즘 중 하나를 선택하고, 메모리 매핑 I/O와 함께 SIMD 명령어(SSE2, AVX2, AVX-512, NEON)를 사용해 검색 속도를 높입니다.

기본적으로 고정 문자열 검색을 지원하며, POSIX 정규식과 반복해서 지정하는 -e 플래그 또는 패턴 파일을 통한 다중 패턴 검색도 지원합니다. 파일, glob 포함·제외 규칙과 .gitignore 처리를 적용한 디렉터리의 재귀 검색, 표준 입력 검색이 가능합니다. 주변 문맥 줄, 줄 번호, 일치 개수, 파일 목록 등 일반적인 grep 옵션과 스크립트에서 사용할 수 있는 JSON Lines 출력도 제공합니다.

krep은 C 컴파일러와 pthread가 있는 Linux, macOS, BSD 시스템에서 실행됩니다. 빌드 시 PORTABLE 또는 NATIVE make 플래그를 설정해 이식성과 CPU별 벡터 명령어 지원 간의 균형을 조정할 수 있습니다.

핵심 기능

  • 01패턴에 따라 여러 문자열 검색 알고리즘 중 하나를 자동 선택
  • 02빠른 검색을 위한 SIMD 가속 및 메모리 매핑 I/O
  • 03CPU 코어 전반에서 멀티스레드 검색
  • 04POSIX 정규식 및 다중 패턴 검색 지원
  • 05glob, 제외 규칙, .gitignore를 지원하는 재귀 디렉터리 검색
  • 06grep 호환 옵션과 JSON Lines 출력

활용 사례

  • 대규모 소스 트리나 로그 디렉터리에서 여러 패턴을 한 번에 검색
  • 구조화된 JSON Lines 출력이 필요한 텍스트 검색 스크립트 작성
  • 성능이 중요한 빌드 또는 CI 파이프라인에서 grep 대체
  • quiet 모드를 사용해 셸 스크립트에서 빠르게 존재 여부 확인

빠른 시작

  1. 1

    Homebrew로 설치(macOS)

    brew install krep
  2. 2

    저장소 클론

    git clone https://github.com/davidesantangelo/krep.git
  3. 3

    프로젝트 디렉터리로 이동해 빌드

    cd krep && make
  4. 4

    바이너리를 시스템 전체에 설치

    sudo make install

사용 전 알아둘 점

  • C 컴파일러와 pthread를 갖춘 POSIX 시스템이 필요하므로 Windows는 지원되지 않습니다.
  • 배포된 Linux x86-64 바이너리는 기본 SSE2만 사용합니다. 더 넓은 SIMD를 사용하려면 소스에서 빌드해야 합니다.

토픽

자주 묻는 질문

krep은(는) 무엇인가요?
SIMD 가속과 정규식 지원을 갖춘, grep 호환 멀티스레드 고속 명령줄 문자열 검색 도구입니다. krep은 C로 작성된 명령줄 텍스트 검색 도구로, 대규모 패턴 검색에서 grep보다 빠르게 동작하도록 설계되었습니다. 패턴에 따라 Boyer-Moore, KMP, Two-Way, Shift-Or, Aho-Corasick 등 여러 검색 알고리즘 중 하나를 선택하고, 메모리 매핑 I/O와 함께 SIMD 명령어(SSE2, AVX2, AVX-512, NEON)를 사용해 검색 속도를 높입니다.
krep은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
krep은(는) BSD-2-Clause 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
krep은(는) 아직 유지보수되고 있나요?
6개월 이내 업데이트. krep의 마지막 커밋은 2026년 9월 16일입니다.
krep은(는) 어디에 사용할 수 있나요?
대규모 소스 트리나 로그 디렉터리에서 여러 패턴을 한 번에 검색 구조화된 JSON Lines 출력이 필요한 텍스트 검색 스크립트 작성 성능이 중요한 빌드 또는 CI 파이프라인에서 grep 대체 quiet 모드를 사용해 셸 스크립트에서 빠르게 존재 여부 확인
krep는 어떻게 설치하나요?
Homebrew로 설치(macOS): brew install krep 저장소 클론: git clone https://github.com/davidesantangelo/krep.git 프로젝트 디렉터리로 이동해 빌드: cd krep && make 바이너리를 시스템 전체에 설치: sudo make install
krep은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/davidesantangelo/krep

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트