Ignorer des fichiers, de ack à ag
Ag (the silver searcher), comme ack permettent de chercher des motifs de texte dans du code source. Une sorte de grep
spécialisé pour du code source.
Les deux outils sont très probablement disponibles dans votre distribution préférée.
Sous Debian et dérivées :
apt install ack-grep # pour ack
apt install silversearcher-ag # pour ag
ag
est plus rapide qu’ack
pour trouver des motifs. Un comparatif de performance écrit par le développeur d’ag, qui est donc juge et partie, le montre. Quelques tests rapides m’ont aussi montré un gain de temps.
ack
utilise un fichier .ackrc pour ignorer des chemins ou fichiers. ag
aussi, mais le format est un peu différent (équivalent à .hgignore et .gitignore qu’il utilise aussi) car il ne fait que de l’exclusion. La modification est triviale pour un castor junior :
$ cat .ackrc
--ignore-dir=riri
--ignore-dir=fifi/
--ignore-dir=loulou
devient
$ cat .ignore
riri
fifi/
loulou
À partir de la version 0.33.0, ag utilise le fichier .ignore et .agignore devient déprécié. Dans la dernière version testée, le fichier .agignore est toujours lu s’il est la racine de ${HOME}, mais non pris en compte s’il est dans le répertoire dans lequel la recherche est faite.
Testé avec les versions suivantes :
ack version 2.12 et 2.18
ag version 0.19.2 et 2.1.0
ag est déjà has been 😉 Désormais, c’est ripgrep (rp)
http://blog.burntsushi.net/ripgrep/
https://github.com/BurntSushi/ripgrep