Documentation

The Silver Searcher – code-searching tool similar to ack, but faster

The Silver Searcher is a tool for searching code. It started off as a clone of Ack, but their feature sets have since diverged slightly.

In typical usage, Ag is 5-10x faster than Ack.

This is free and open source software.

Features include:

  • It is an order of magnitude faster than ack.
    • Uses Pthreads to take advantage of multiple CPU cores and search files in parallel.
    • Files are mmap()ed instead of read into a buffer.
    • Literal string searching uses Boyer-Moore strstr.
    • Regex searching uses PCRE’s JIT compiler.
    • Ag calls pcre_study() before executing the same regex on every file.
    • Instead of calling fnmatch() on every pattern in your ignore files, non-regex patterns are loaded into arrays and binary searched.
  • It ignores file patterns from your .gitignore and .hgignore.
  • If there are files in your source repo you don’t want to search, just add their patterns to a .ignore file.
  • The command name is 33% shorter than ack, and all keys are on the home row!

Website: geoff.greer.fm/ag
Support: GitHub Code Repository
Developer: Geoff Greer
License: Apache License 2.0

ag

The Silver Searcher is written in C. Learn C with our recommended free books and free tutorials.

Alternatives to grep


Explore Linux

Best Free and Open Source Software - A huge collection of recommended free and open source software covering every major category.
In-depth Linux Software Reviews - Detailed assessments of Linux software covering features, usability and overall quality.

The Big List of Active Linux Distros - An extensive collection of actively developed Linux distributions.
Open Source Alternatives - Alternatives to software and services from Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle and others.
Essential Linux System Tools - Indispensable utilities for monitoring, maintaining and managing Linux systems.
Linux Productivity Tools - Useful utilities for improving productivity and streamlining everyday tasks.
Alternatives to Popular CLI Tools - Modern alternatives to familiar command-line utilities supplied with Linux systems.
Awesome Free Linux Game Tools - Tools, utilities and companion software that improve gaming on Linux.
Machine Learning on Linux - Machine learning and deep learning software, self-hosted applications and practical tools.
Saving Money with Linux - Practical ways to reduce electricity consumption and lower computing costs with Linux.
Linux Candy - Fun, entertaining and sometimes delightfully quirky software from the lighter side of Linux.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted