GNU/Linux >> Tutoriels Linux >  >> Linux

Silver Searcher - Un outil de recherche de code similaire à Ack

Le Silver Searcher est un outil de recherche de code de ligne de commande réputé qui est considéré comme multiplateforme, open source et gratuit. Il partage la plupart de ses attributs fonctionnels avec les fonctionnalités de recherche en texte brut de grep. La principale différence entre ces deux outils est que Silver Searcher offre une surcharge de performances plus rapide.

[ Vous pourriez également aimer :Ripgrep - L'outil de recherche de ligne de commande le plus rapide pour Linux ]

Cet article est destiné aux programmeurs ou aux programmeurs en herbe et aux utilisateurs de Linux qui passent la plupart de leur temps devant un éditeur de code source, un terminal de système d'exploitation ou tout autre environnement programmable. Vous bénéficierez non seulement de la vitesse de Silver Searcher, mais également de son algorithme spécifique ignorant les fichiers pour les modèles de fichiers tels que ".gitignore ” et “.hgignore ” extensions.

Installer Silver Search sous Linux

Selon la distribution du système d'exploitation Linux sous lequel vous vous trouvez, vous pouvez installer Silver Search outil à partir de l'une des sélections de commandes suivantes.

$ sudo apt-get install silversearcher-ag       [On Debian, Ubuntu and Mint]
$ sudo yum install the_silver_searcher         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/the_silver_searcher  [On Gentoo Linux]
$ sudo pacman -S the_silver_searcher           [On Arch Linux]
$ sudo zypper install the_silver_searcher      [On OpenSUSE]    

Exemples d'utilisation de Silver Searcher

Pour utiliser cet outil, vous devez d'abord être sur votre environnement de terminal Linux. La flexibilité de cet outil est que pour correspondre à une chaîne de recherche spécifique, vous pouvez être sur le même chemin que ce fichier ou répertoire ou vous pouvez spécifier le chemin d'accès au fichier ou au répertoire à partir duquel vous souhaitez interroger un résultat de chaîne de recherche.

Rechercher des correspondances de chaînes spécifiques dans le répertoire et les sous-répertoires

La recherche Silver filtrera et mettra en surbrillance les résultats de correspondance de chaîne spécifiés de vos dossiers et répertoires actuels vers leurs sous-dossiers et sous-répertoires.

$ ag photo

Rechercher des correspondances de chaînes dans un répertoire spécifique

Le répertoire spécifié est interrogé pour le nom de chaîne correspondant et les résultats sont mis en surbrillance.

$ ag tech /home/dnyce/Desktop

Rechercher des correspondances de chaînes au format AckMate

Trouvez les correspondances de chaîne dans un répertoire et affichez-les dans un format AckMate.

$ ag --ackmate tech /home/dnyce/Desktop

Rechercher des correspondances de chaînes et imprimer des colonnes associées

Trouvez les correspondances de chaîne dans un répertoire et imprimez les numéros de colonne dans les résultats.

$ ag --column tech /home/dnyce/Desktop

Rechercher les correspondances de chaîne et générer le mot associé

Trouvez les correspondances de chaîne dans un répertoire et affichez uniquement les mots entiers associés.

$ ag -w tech  /home/dnyce/Desktop

Dans le cas ci-dessus, le chercheur Silver affichera des correspondances avec "tech » comme un mot complet. Cette "technologie  » correspondent à des mots comme « technologie » et « technicien ” sera ignoré.

Rechercher une chaîne dans les fichiers texte uniquement

Les correspondances de recherche proviennent uniquement de fichiers texte et d'aucun autre type de fichier. Les fichiers protégés sont inaccessibles

$ ag -t photo .

Rechercher une chaîne dans tous les types de fichiers

Trouvez les correspondances de chaîne dans tous les types de fichiers.

$ ag -a photo ~/Downloads

Les fichiers binaires correspondants sont également mis en évidence en tant que correspondance.

Rechercher une chaîne dans les fichiers cachés

Vous pouvez également trouver des correspondances de chaînes dans tous les types de fichiers avec inclusion dans des fichiers cachés.

$ ag -u -w .ignore 

Rechercher une chaîne dans des fichiers compressés

Si vous avez besoin d'interroger à l'intérieur de fichiers compressés ou compressés, un chercheur Silver s'occupera des choses. Votre recherche de correspondance de chaîne doit pointer vers le chemin relatif de ce fichier compressé.

$ ag -z -a photo ~/Downloads/pintrest 

Rechercher une chaîne avec des liens symboliques

Le -f flag déclenche une sortie avec ces liens symboliques.

$ ag -tf root /etc/ 

Trouver des correspondances de chaînes avec une certaine profondeur de répertoire

La recherche de profondeur de répertoire par défaut de la recherche Silver à partir du moment où une recherche de chaîne est déclenchée est de 25. Elle recherche 25 niveaux de profondeur dans un répertoire pour d'éventuelles correspondances de chaîne.

Nous pouvons étendre ou réduire cette valeur de recherche de profondeur avec le --depth paramètre comme illustré ci-dessous.

$ ag -tf --depth 3 root /etc/ 

Comme vous pouvez le voir, la recherche de la correspondance de chaîne "root ” a parcouru 3 répertoires en profondeur.

Intégration de l'éditeur Silver Search

Vous pouvez utiliser cet outil de recherche depuis votre Vim (ack.vim) éditeur après avoir implémenté l'étape d'intégration suivante.

Tracez le .vimrc fichier et enregistrez-y l'une des lignes suivantes.

let g:ackprg = 'ag –vimgrep'
or
let g:ackprg = 'ag --nogroup --nocolor --column'

Si vous avez besoin de plus d'exposition et d'options pour utiliser cet outil de recherche en ligne de commande rapide, complet et puissant, utilisez le man ag commande sur votre terminal système Linux pour plus d'alternatives à son utilisation. Cet article a fourni un guide équilibré sur la façon de naviguer dans l'utilitaire de recherche Silver.


Linux
  1. Échapper les caractères inconnus de la chaîne pour -exec ?

  2. Outil de comparaison de code pour Linux

  3. Comment trouver des lignes contenant une chaîne sous Linux

  4. Recherche d'une chaîne dans plusieurs fichiers sous Linux

  5. commande find / grep sans rechercher les partages montés

Une alternative conviviale à l'outil de recherche sous Linux

Comment trouver une chaîne dans un fichier sous Linux

Test Shell pour trouver un motif dans une chaîne ?

Comment trouver la longueur d'une chaîne dans Bash [Astuce rapide]

Mousai - Un outil simple pour identifier les chansons similaires à Shazam

Comment utiliser Sed pour rechercher et remplacer une chaîne dans un fichier