Les systèmes d'exploitation Linux prennent en charge la recherche de fichiers et de répertoires pour des chaînes de texte spécifiques. L'un des outils les plus courants pour rechercher une chaîne de texte est grep. Grep permet aux utilisateurs de rechercher n'importe quel modèle avec des expressions régulières dans les fichiers et les répertoires. Cependant, grep a certaines limitations. C'est un outil à usage général sans aucune optimisation. C'est là que l'outil Ack peut vous aider. L'outil Ack est spécialement conçu pour les développeurs pour rechercher le code source des programmes. L'outil Ack est plus rapide que grep et nous permet d'exclure certaines sorties des résultats de recherche.
Dans cet article, nous vous montrerons comment installer et utiliser la commande Ack sous Linux.
Prérequis
- Un serveur exécutant Linux sur la plate-forme cloud Atlantic.Net
- Un mot de passe root configuré sur votre serveur
Créer un serveur cloud Atlantic.Net
Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant n'importe quel système d'exploitation Linux avec au moins 1 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.
Installer Ack sous Linux
Pour les distributions basées sur Debian et Ubuntu, installez l'outil Ack à l'aide de la commande suivante :
apt-get install ack-grep -y
Pour les distributions basées sur RHEL, Fedora et CentOS, installez l'outil Ack à l'aide de la commande suivante :
dnf install ack-grep -y
Après l'installation, vérifiez la version Ack à l'aide de la commande suivante :
ack --version
Vous obtiendrez le résultat suivant :
ack 2.22 Running under Perl 5.26.1 at /usr/bin/perl Copyright 2005-2017 Andy Lester. This program is free software. You may modify or distribute it under the terms of the Artistic License v2.0.
Télécharger le code source Neovim
Pour montrer comment utiliser la commande Ack, nous allons télécharger le code source de neovim à partir du référentiel Git.
Exécutez la commande suivante pour télécharger le source neovim :
git clone https://github.com/neovim/neovim.git
Une fois le téléchargement terminé, changez le répertoire vers la source téléchargée et listez tous les fichiers :
cd neovim ls neovim
Vous devriez voir tous les fichiers dans la sortie suivante :
BACKERS.md CMakeLists.txt CONTRIBUTING.md man scripts third-party BSDmakefile codecov.yml LICENSE.txt packaging snap unicode ci config MAINTAIN.md README.md src cmake contrib Makefile runtime test
Rechercher le nombre total de fichiers dans le répertoire
Vous pouvez utiliser la commande Ack pour savoir combien de fichiers se trouvent dans le référentiel.
ack -f | wc -l
Vous obtiendrez le résultat suivant :
2899
Rechercher un modèle de chaîne à l'aide de la commande Ack
La commande Ack peut rechercher un modèle spécifique et trouver des données qui ont des correspondances partielles ou complètes.
Par exemple, pour rechercher la chaîne "restrict " dans le référentiel, exécutez la commande suivante :
ack restrict
Vous obtiendrez le résultat suivant :
Rechercher un mot de modèle de chaîne à l'aide de la commande Ack
Si vous voulez voir la correspondance exacte dans le résultat, utilisez le -w choix :
ack -w restrict
Vous obtiendrez le résultat suivant :
Comme vous pouvez le voir, la commande Ack recherche restrict comme un mot complet.
Rechercher un modèle de chaîne à partir d'un type de fichier spécifique
Si vous souhaitez rechercher une chaîne spécifique dans un type de fichier spécifique, y compris Python, C ou Vim, vous pouvez utiliser l'option –python, –c ou –vim.
Par exemple, pour rechercher une chaîne "restrict " uniquement dans les fichiers Python, exécutez la commande suivante :
ack -w --python restrict
Vous obtiendrez le résultat suivant :
Compter le nombre total d'occurrences d'une recherche de chaîne
Si vous voulez compter le nombre total d'occurrences d'une chaîne spécifiée, utilisez le -c option avec la commande Ack.
ack -c restrict
Vous obtiendrez le résultat suivant :
Si vous souhaitez afficher le nombre total d'occurrences d'une chaîne "restrict ” dans la sortie, exécutez la commande suivante :
ack -ch restrict
Vous obtiendrez le résultat suivant :
232
Si vous souhaitez vérifier la vitesse des recherches, exécutez la commande suivante :
time ack -ch restrict
Vous obtiendrez le résultat suivant :
232 real 0m0.631s user 0m0.551s sys 0m0.076s
Rechercher un type de fichier spécifique
La commande Ack peut également trouver les types de fichiers spécifiques à partir du répertoire spécifié.
Par exemple, pour trouver tous les fichiers Python dans votre répertoire courant, exécutez la commande suivante :
ack -f --python
Vous obtiendrez tous les fichiers Python dans la sortie suivante :
src/clint.py src/nvim/testdir/pyxfile/py2_magic.py src/nvim/testdir/pyxfile/py3_magic.py src/nvim/testdir/pyxfile/py3_shebang.py src/nvim/testdir/pyxfile/pyx.py src/nvim/testdir/pyxfile/py2_shebang.py src/nvim/testdir/test_makeencoding.py contrib/gdb/nvim-gdb-pretty-printers.py contrib/YouCompleteMe/ycm_extra_conf.py scripts/stripdecls.py scripts/gen_help_html.py scripts/check-includes.py scripts/shadacat.py scripts/gen_vimdoc.py
Conclusion
Dans cet article, nous avons expliqué comment installer et utiliser la commande Ack sous Linux. Ack est un outil de recherche très utile et flexible pour les développeurs lors de la gestion de plusieurs projets. Lancez-vous dès maintenant sur l'hébergement VPS d'Atlantic.Net !