Linux-Betriebssysteme bieten Unterstützung für das Durchsuchen von Dateien und Verzeichnissen nach bestimmten Textzeichenfolgen. Eines der gebräuchlichsten Tools zum Suchen nach einer Textzeichenfolge ist grep. Mit Grep können Benutzer mit regulären Ausdrücken in Dateien und Verzeichnissen nach beliebigen Mustern suchen. grep hat jedoch einige Einschränkungen. Es ist ein Allzweck-Tool ohne jegliche Optimierung. Hier kann das Ack-Tool helfen. Das Ack-Tool wurde speziell für Entwickler zum Durchsuchen des Quellcodes von Programmen entwickelt. Das Ack-Tool ist schneller als grep und ermöglicht es uns, bestimmte Ausgaben aus den Suchergebnissen auszuschließen.
In diesem Beitrag zeigen wir Ihnen, wie Sie den Ack-Befehl unter Linux installieren und verwenden.
Voraussetzungen
- Ein Server, auf dem Linux auf der Atlantic.Net Cloud Platform ausgeführt wird
- Ein auf Ihrem Server konfiguriertes Root-Passwort
Atlantic.Net Cloud-Server erstellen
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie ein beliebiges Linux-Betriebssystem mit mindestens 1 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Ack unter Linux installieren
Installieren Sie für Debian- und Ubuntu-basierte Distributionen das Ack-Tool mit dem folgenden Befehl:
apt-get install ack-grep -y
Installieren Sie für RHEL-, Fedora- und CentOS-basierte Distributionen das Ack-Tool mit dem folgenden Befehl:
dnf install ack-grep -y
Überprüfen Sie nach der Installation die Ack-Version mit dem folgenden Befehl:
ack --version
Sie erhalten die folgende Ausgabe:
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.
Neovim-Quellcode herunterladen
Um zu demonstrieren, wie der Ack-Befehl verwendet wird, laden wir den Neovim-Quellcode aus dem Git-Repository herunter.
Führen Sie den folgenden Befehl aus, um die Neovim-Quelle herunterzuladen:
git clone https://github.com/neovim/neovim.git
Wechseln Sie nach Abschluss des Downloads in das Verzeichnis der heruntergeladenen Quelle und listen Sie alle Dateien auf:
cd neovim ls neovim
Sie sollten alle Dateien in der folgenden Ausgabe sehen:
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
Suchen Sie nach der Gesamtzahl der Dateien im Verzeichnis
Sie können den Ack-Befehl verwenden, um herauszufinden, wie viele Dateien sich im Repository befinden.
ack -f | wc -l
Sie erhalten das folgende Ergebnis:
2899
Suche nach einem Zeichenkettenmuster mit dem Ack-Befehl
Der Ack-Befehl kann nach einem bestimmten Muster suchen und Daten finden, die entweder teilweise oder vollständig übereinstimmen.
Um beispielsweise nach der Zeichenfolge „restrict Führen Sie im Repository den folgenden Befehl aus:
ack restrict
Sie erhalten das folgende Ergebnis:
Suche mit dem Befehl „Ack“ nach einem Zeichenfolgenmusterwort
Wenn Sie die genaue Übereinstimmung im Ergebnis sehen möchten, verwenden Sie das -w Möglichkeit:
ack -w restrict
Sie erhalten die folgende Ausgabe:
Wie Sie sehen können, sucht der Ack-Befehl nach restrict als vollständiges Wort.
Nach einem Zeichenfolgenmuster aus einem bestimmten Dateityp suchen
Wenn Sie nach einer bestimmten Zeichenfolge in einem bestimmten Dateityp suchen möchten, einschließlich Python, C oder Vim, können Sie die Option –python, –c oder –vim verwenden.
Um beispielsweise nach der Zeichenfolge „restrict“ zu suchen ” Führen Sie nur in Python-Dateien den folgenden Befehl aus:
ack -w --python restrict
Sie erhalten die folgende Ausgabe:
Zählen Sie die Gesamtzahl der Vorkommen einer Zeichenfolgensuche
Wenn Sie die Gesamtzahl der Vorkommen einer bestimmten Zeichenfolge zählen möchten, verwenden Sie das -c Option mit dem Ack-Befehl.
ack -c restrict
Sie erhalten die folgende Ausgabe:
Wenn Sie die Gesamtzahl der Vorkommen einer Zeichenfolge „restrict “ Führen Sie in der Ausgabe den folgenden Befehl aus:
ack -ch restrict
Sie erhalten die folgende Ausgabe:
232
Wenn Sie die Geschwindigkeit der Suchen überprüfen möchten, führen Sie den folgenden Befehl aus:
time ack -ch restrict
Sie erhalten die folgende Ausgabe:
232 real 0m0.631s user 0m0.551s sys 0m0.076s
Nach einem bestimmten Dateityp suchen
Der Ack-Befehl kann auch die spezifischen Dateitypen aus dem angegebenen Verzeichnis finden.
Um beispielsweise alle Python-Dateien in Ihrem aktuellen Verzeichnis zu finden, führen Sie den folgenden Befehl aus:
ack -f --python
Sie erhalten alle Python-Dateien in der folgenden Ausgabe:
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
Schlussfolgerung
In diesem Beitrag haben wir erklärt, wie man den Ack-Befehl unter Linux installiert und verwendet. Ack ist ein sehr nützliches und flexibles Suchwerkzeug für Entwickler bei der Verwaltung mehrerer Projekte. Beginnen Sie jetzt mit dem VPS-Hosting von Atlantic.Net!