GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Silver Searcher – Ein Code-Suchwerkzeug ähnlich wie Ack

Der Silver Searcher ist ein seriöses Tool zum Durchsuchen von Befehlszeilencode, das als plattformübergreifend, Open Source und kostenlos gilt. Es teilt die meisten seiner funktionalen Attribute mit den Klartext-Suchfunktionen von grep. Der Hauptunterschied zwischen diesen beiden Tools ist der Silver Searcher bietet einen schnelleren Performance-Overhead.

[Das könnte Ihnen auch gefallen:Ripgrep – Das schnellste Kommandozeilen-Suchtool für Linux ]

Dieser Artikel richtet sich an Programmierer oder Möchtegern-Programmierer und Linux-Benutzer, die die meiste Zeit vor einem Quellcode-Editor, einem Betriebssystem-Terminal oder einer anderen programmierbaren Umgebung verbringen. Sie profitieren nicht nur von der Geschwindigkeit von Silver Searcher, sondern auch von seinem spezifischen Algorithmus zum Ignorieren von Dateien für Dateimuster wie „.gitignore “ und „.hgignore ” Erweiterungen.

Installieren Sie Silver Search unter Linux

Abhängig von der Linux-Betriebssystemverteilung, die Sie verwenden, können Sie die Silver Search installieren Werkzeug aus einer der folgenden Befehlsauswahlen.

$ 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]    

Beispiele für die Verwendung von Silver Searcher

Um dieses Tool zu verwenden, müssen Sie sich zunächst in Ihrer Linux-Terminalumgebung befinden. Die Flexibilität dieses Tools besteht darin, dass Sie sich zum Abgleich einer bestimmten Suchzeichenfolge im selben Pfad wie diese Datei oder dieses Verzeichnis befinden oder den Pfad zu der Datei oder dem Verzeichnis angeben können, von dem aus Sie ein Suchzeichenfolgeergebnis abfragen möchten.

Spezifische Zeichenfolgenübereinstimmungen in Verzeichnissen und Unterverzeichnissen finden

Silver Search filtert und hebt die angegebenen Zeichenfolgenübereinstimmungsergebnisse aus Ihren aktuellen Ordnern und Verzeichnissen in deren Unterordnern und Unterverzeichnissen hervor.

$ ag photo

String-Übereinstimmungen in einem bestimmten Verzeichnis finden

Das angegebene Verzeichnis wird nach dem passenden Zeichenfolgennamen abgefragt und die Ergebnisse hervorgehoben.

$ ag tech /home/dnyce/Desktop

String-Übereinstimmungen im AckMate-Format finden

Finden Sie die Zeichenfolgenübereinstimmungen in einem Verzeichnis und geben Sie sie in einem AckMate-Format aus.

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

String-Übereinstimmungen finden und zugeordnete Spalten drucken

Finden Sie die Zeichenfolgenübereinstimmungen in einem Verzeichnis und geben Sie die Spaltennummern in den Ergebnissen aus.

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

String-Übereinstimmungen finden und zugehöriges Wort ausgeben

Finden Sie die Zeichenfolgenübereinstimmungen in einem Verzeichnis und geben Sie nur zugehörige ganze Wörter aus.

$ ag -w tech  /home/dnyce/Desktop

Im obigen Fall gibt der Silver-Sucher Übereinstimmungen mit „tech aus “ als vollständiges Wort. Diese „Technologie “ passen in Wörter wie „Technologie “ und „Techniker ” wird ignoriert.

String nur in Textdateien suchen

Die Suchtreffer stammen nur aus Textdateien und keinem anderen Dateityp. Auf geschützte Dateien kann nicht zugegriffen werden

$ ag -t photo .

Zeichenfolge in allen Dateitypen finden

Finden Sie die String-Übereinstimmungen in allen Dateitypen.

$ ag -a photo ~/Downloads

Passende Binärdateien werden ebenfalls als Übereinstimmung hervorgehoben.

Zeichenfolge in versteckten Dateien finden

Sie können auch Zeichenfolgenübereinstimmungen in allen Dateitypen mit Einschluss in versteckten Dateien finden.

$ ag -u -w .ignore 

Zeichenfolge in komprimierten Dateien finden

Wenn Sie komprimierte oder gezippte Dateien durchsuchen müssen, kümmert sich ein Silver-Sucher darum. Ihre Zeichenfolgenübereinstimmungssuche sollte auf den relativen Pfad dieser komprimierten Datei verweisen.

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

String mit symbolischen Links finden

Das -f Flag löst eine Ausgabe mit diesen Symlinks aus.

$ ag -tf root /etc/ 

String-Übereinstimmungen mit bestimmter Verzeichnistiefe finden

Die standardmäßige Verzeichnistiefensuche der Silbersuche ab dem Punkt, an dem eine Zeichenfolgensuche ausgelöst wird, ist 25. Sie durchsucht 25 Ebenen tief in einem Verzeichnis nach möglichen Zeichenfolgenübereinstimmungen.

Diesen Tiefensuchwert können wir mit --depth erweitern oder reduzieren Parameter wie unten gezeigt.

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

Wie Sie sehen können, wird die Suche nach der Zeichenfolgenübereinstimmung „root ” ist 3 Verzeichnisse tief gegangen.

Integration des Silver Search-Editors

Sie können dieses Suchwerkzeug von Ihrem Vim aus verwenden (ack.vim) Editor nach der Implementierung des folgenden Integrationsschritts.

Verfolgen Sie die .vimrc Datei und speichern Sie darin eine der folgenden Zeilen.

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

Wenn Sie mehr Sichtbarkeit und Optionen benötigen, um dieses schnelle, umfangreiche und leistungsstarke Befehlszeilen-Suchtool zu verwenden, verwenden Sie die man ag Befehl auf Ihrem Linux-Systemterminal für weitere Alternativen zu seiner Verwendung. Dieser Artikel enthält eine ausgewogene Anleitung zur Navigation im Silver-Suchdienstprogramm.


Linux
  1. Shell-Test, um ein Muster in einer Zeichenfolge zu finden?

  2. Entferne unbekannte Zeichen aus Zeichenfolge für -exec?

  3. Manipulieren Sie {} Rückgabezeichenfolge von Find -exec?

  4. Code-Vergleichstool für Linux

  5. find / grep Befehl, ohne gemountete Freigaben zu durchsuchen

Eine benutzerfreundliche Alternative zum Find-Tool in Linux

So finden Sie eine Zeichenfolge in einer Datei unter Linux

Ermitteln Sie die Anzahl der Codezeilen aus dem GitHub-Repository

So finden Sie die Länge der Zeichenfolge in Bash [Schneller Tipp]

So verwenden Sie Sed zum Suchen und Ersetzen einer Zeichenfolge in einer Datei

bash - findet die Position des String-Index des Teilstrings