Qu'est-ce que ripgrep ?
ripgrep (la commande rg) est un outil de recherche orienté ligne écrit en Rust par Andrew Gallant. Il parcourt récursivement le répertoire courant à la recherche d'un motif d'expression régulière, en respectant vos règles .gitignore et en ignorant automatiquement les fichiers cachés, ignorés et binaires. C'est le moteur de recherche derrière des éditeurs comme VS Code, et il est généralement plus rapide que GNU grep, The Silver Searcher et ack.
--engine auto pour un repli transparent vers PCRE2, une sortie --json plus riche et des gains de débit réguliers dans son moteur d'expressions régulières. La version des archives est antérieure à la plupart de ces apports.
⚡ Fonctionnalités clés de ripgrep
🚀 Extrêmement rapide
Un moteur d'expressions régulières à automates finis, un balayage SIMD des littéraux, des projections mémoire et un parcours parallèle des répertoires le rendent plus rapide que grep sur les grandes arborescences.
🙈 Respecte .gitignore
Ignore par défaut les fichiers ignorés, cachés et binaires : les résultats sont ceux qui vous intéressent vraiment. Contournable avec -u, -uu ou -uuu.
🌍 Prise en charge complète d'Unicode
Compatible Unicode par défaut — classes de caractères, casse, limites de mots et graphèmes fonctionnent correctement, sans réel coût en vitesse.
🧩 Expressions PCRE2
-P débloque les assertions arrière et les références arrière. PCRE2 est compilé dans ce binaire : cela fonctionne immédiatement, avec le JIT activé.
📄 Filtrage par type de fichier
Limitez la recherche à un langage avec -t rust, excluez avec -T html, ou définissez vos propres types. Plus de 800 motifs sont intégrés.
🔁 Multiligne et remplacement
Cherchez au-delà des sauts de ligne avec -U, prévisualisez des substitutions avec -r et produisez des résultats structurés avec --json.
apt upgrade vous maintient à jour.
📦 Installation depuis deb.griffo.io
Étape 1 : Ajouter le dépôt
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updateÉtape 2 : Installer ripgrep
# Installer le dernier ripgrep
sudo apt install ripgrep
# Vérifier l'installation
rg --version# Installer le dernier ripgrep
apt install ripgrep
# Vérifier l'installation
rg --versionÉtape 3 : Complétion du shell
# Les complétions bash, zsh et fish sont fournies avec le paquet —
# rien à configurer. Ouvrez un nouveau shell et appuyez sur Tab :
rg --ty<Tab>
# La page de manuel est également installée
man rg🎯 Exemples d'utilisation de base
Recherche au quotidien :
# Rechercher dans l'arborescence courante
rg 'TODO'
# Insensible à la casse, mot entier
rg -i -w 'timeout'
# Afficher 3 lignes de contexte autour de chaque résultat
rg -C 3 'panic!'
# Lister uniquement les fichiers contenant un résultat
rg -l 'BurntSushi'Filtrer ce qui est recherché :
# Uniquement les fichiers Rust
rg -t rust 'unsafe'
# Tout sauf HTML et CSS
rg -T html -T css 'font-size'
# Inclure les fichiers ignorés et cachés
rg -uu 'password'
# Restreindre avec un glob
rg -g '*.toml' 'version'Au-delà de grep :
# Assertions et références arrière via PCRE2
rg -P '(?<=fn )\w+' src/
# Rechercher au-delà des sauts de ligne
rg -U 'struct \w+ \{\n[^}]*pub'
# Prévisualiser une substitution (n'écrit aucun fichier)
rg 'v(\d+)\.(\d+)' -r 'v$1.$2.0'
# Sortie structurée pour les scripts
rg --json 'error' | jq -r 'select(.type=="match") | .data.path.text'🔧 Intégrations
ripgrep est le moteur de recherche qu'attendent beaucoup d'autres outils :
- fzf: grep interactif à rechargement continu avec
rgcomme source - Neovim / Telescope:
live_greputilise ripgrep s'il est dans le PATH - Helix: la recherche globale repose sur les mêmes bibliothèques
- bat: aperçus des résultats avec coloration syntaxique
- Yazi: recherche du gestionnaire de fichiers basée sur ripgrep
🚀 Pourquoi choisir deb.griffo.io ?
- Debian officiel: disponible, mais figé à la version livrée avec la release
- Installation manuelle: nécessite une chaîne d'outils Rust, ou de gérer à la main le binaire et ses complétions
- deb.griffo.io: dernière version avec mises à jour automatiques
- ✅ Dernières fonctionnalités: les options, améliorations du moteur et travaux de performance les plus récents
- ✅ Aucune configuration manuelle: binaires précompilés, pas de cargo build nécessaire
- ✅ Mises à jour automatiques: paquets mis à jour quelques heures après les versions upstream
- ✅ Paquet complet:
rg, la page de manuelrg.1et les complétions bash/zsh/fish - ✅ Aucune dépendance: build musl lié statiquement avec PCRE2 intégré
- ✅ Multi-distribution: fonctionne sur Bookworm, Trixie, Forky et Sid
- ✅ Maintenance simple: commandes apt standard pour les mises à jour
📦 Dépôt de construction du paquet
Les paquets Debian sont construits et maintenus automatiquement dans ce dépôt GitHub :
- 🔎 ripgrep-debian - Builds des dernières versions
🔗 Paquets associés
Également disponibles sur deb.griffo.io :
- fzf - Chercheur flou qui se marie avec ripgrep pour la recherche interactive
- eza - Remplaçant moderne de ls
- zoxide - Commande cd intelligente
- Yazi - Utilise ripgrep pour la recherche de fichiers
.gitignore par défaut, les configurations d'éditeurs et d'outils qui appellent rg, et les utilisateurs attentifs à la vitesse de recherche sur de grandes arborescences.