Normalmente, uso o comando grep para pesquisar códigos no terminal. Recentemente, encontrei uma outra ferramenta legal chamada ag. É uma tentativa de fazer algo melhor que o ack, o que é melhor do que o comando grep. Vamos ver como instalar e usar a ferramenta ag em sistemas operacionais Linux.
O comando ag pode pesquisar recursivamente o PATTERN no PATH. Como grep ou ack, só que mais rápido.
Por que usar a ferramenta ag?
- É mais rápido que o grep e o ack
- Ele ignora os padrões de arquivos encontrados em seu ~/.gitignore e ~/.hgignore
- Você pode adicionar padrões customizáveis a ignorar em um arquivo ~/.ignore
- Ag usa Pthreads para aproveitar múltiplos núcleos de CPU e procurar arquivos em paralelo
Como Instalar
Você pode instalar o ag de acordo com a versão de sua variante Linux. Abra o Terminal e digite o seguinte comando.
Ubuntu/Mint/Debian
sudo apt install silversearcher-ag
RHEL/CentOS 7/Fedora
Primeiro habilite o repositório EPEL.
sudo yum install epel-release
E então instale.
sudo yum install the_silver_searcher
Usuários Fedora devem usar o seguinte comando dnf:
sudo dnf install the_silver_searcher
OpenSUSE
zypper install the_silver_searcher
Sintaxe do ag e Exemplos
A sintaxe básica do comando é a seguinte:
ag [opções] palavra arquivo ag [opções] palavra arquivo1 arquivo2 arquivo3 ag [opções] palavra diretório/
Você pode procurar em vários arquivos simultaneamente. Por exemplo, o seguinte pesquisaria os três arquivos: foo, bar e foobar para qualquer linha que contenha a string UNIX:
ag UNIX foo bar foobar
Cada resultado é exibido começando em uma linha separada e é precedido pelo nome do arquivo, número da linha e destaca a palavra pesquisada. O ag não se limita à busca por apenas palavras ou strings simples. Ele também pode procurar sequências de strings ou frases. Basta incluir a seqüência de strings entre aspas:
ag 'UNIX os' file1 foo bar
Para ver todas as opções use:
man ag
ou
ag --help
Conclusão
O ag vem com padrões mais saudáveis do que o grep e fáceis de digitar. Pode ser uma boa escolha para o seu computador portátil ou desktop dedicado ao desenvolvimento de software. O ag foi originalmente criado por Geoff Greer. Mais informações (e a versão mais recente) podem ser encontradas em https://geoff.greer.fm/ag.