명령어/Linux

[리눅스] ag(the_silver_searcher) 코드베이스 전용 검색기

jykim23 2026. 7. 16. 17:48
반응형

부제: ack을 계승한, 소스 트리를 파일별로 묶어 보여주는 검색 도구

ag TODO              # 현재 트리에서 TODO 검색 (파일별 그룹 출력)
ag -i error          # 대소문자 무시
ag --python "def "   # 파이썬 파일로만 한정
$ ag --version
ag version 2.2.0

Features:
  +jit +lzma +zlib

$ ag TODO
src/app.py
4:    # TODO: add retry logic

src/utils/helpers.py
7:# TODO: handle negative numbers

ag는 소스 코드를 뒤지는 데 특화된 검색기다. ack의 후계자로 나왔고, 매칭 결과를 파일 이름 아래에 줄번호와 함께 묶어 보여줘 어디서 걸렸는지 한눈에 들어온다. .gitignore.agignore를 자동으로 존중해 빌드 산출물이나 의존성 폴더를 알아서 뺀다. --python, --js처럼 언어 플래그로 대상 파일을 좁힐 수 있다. 요즘은 ripgrep이 속도로 앞서지만, ack 호환 문법과 파일별 그룹 출력에 익숙한 손이라면 여전히 편하다. 데비안은 apt install silversearcher-ag, RHEL 계열은 EPEL을 켜고 dnf install the_silver_searcher로 설치한다.

이렇게도 쓴다

대소문자를 무시하고 검색한다.

ag -i login

 

매칭된 파일 이름만 나열한다.

ag -l TODO

 

파일 내용이 아니라 파일 이름 자체를 패턴으로 찾는다.

ag -g '\.py$'

 

특정 언어 파일로만 검색 범위를 좁힌다.

ag --python "def "

 

정규식 없이 문자 그대로 매칭한다.

ag -Q 'config.json'

 

TODO가 든 파일을 찾아 편집기로 한 번에 연다. (ag + xargs 조합)

ag -l TODO | xargs vim
반응형