6 Beste CLI-Tools zur Suche nach Klartextdaten mit regelmäßigen Ausdrücken

6 Beste CLI-Tools zur Suche nach Klartextdaten mit regelmäßigen Ausdrücken

Dieser Leitfaden unternimmt eine Tour durch einige der besten Befehlszeilen-Tools, die zum Durchsuchen passender Zeichenfolgen oder Muster in Textdateien verwendet werden. Diese Werkzeuge werden normalerweise zusammen mit regulären Ausdrücken verwendet - verkürzt wie Regex - die einzigartigen Zeichenfolgen für die Beschreibung eines Suchmusters sind.

Ohne viel weiter zu tun, lasst uns eintauchen.

1. GREP -Befehl

Erstmal Globaler regelmäßiger Ausdruckdruck, ist ein leistungsstarkes Befehlszeilen-Tool, das bei der Suche nach einer bestimmten Zeichenfolge oder einem Muster in einer Datei nützlich ist.

Grep Versand mit modernen Linux -Verteilungen standardmäßig und bieten Ihnen die Flexibilität, verschiedene Suchergebnisse zurückzugeben. Mit Grep können Sie eine Vielzahl von Funktionen ausführen, wie z. B.:

  • Suchen Sie nach Strings oder Matching -Mustern in einer Datei.
  • Suchen Sie nach Saiten oder Matching -Mustern in GZIP -Dateien.
  • Zählen Sie die Anzahl der String -Übereinstimmungen.
  • Drucken Sie die Zeilennummern aus, die die Zeichenfolge oder das Muster enthalten.
  • Suche rekursiv nach der Zeichenfolge in Verzeichnissen.
  • Eine umgekehrte Suche durchführen (ich.e. Die Ergebnisse von Strings anzeigen, die nicht den Suchkriterien entsprechen).
  • Ignorieren Sie die Fallempfindlichkeit bei der Suche nach Saiten.

Die Syntax für die Verwendung der Grep Befehl ist recht einfach:

$ grep Musterdatei 

Zum Beispiel, um nach der Zeichenfolge zu suchen 'Linux'In einer Datei, sagen wir, Hallo.txt Führen Sie den Befehl aus:

$ grep -I ich linux Hallo.txt 
Suchen Sie nach Zeichenfolge in einer Datei

Um mehr Optionen zu erhalten, mit denen Sie verwenden können Grep, Lesen Sie einfach unseren Artikel mit Beispielen für erweiterte GREP -Befehlsbeispiele.

2. SED -Befehl

Sed - kurz für Stream Editor - ist ein weiteres nützliches Befehlszeilen-Tool für Manipulationstext in einer Textdatei. SED-Suchanfragen, filter.

Standardmäßig, sed Der Befehl druckt die Ausgabe auf Stdout (Standard), was impliziert, dass das Ergebnis der Ausführung auf dem Terminal gedruckt wird, anstatt in einer Datei gespeichert zu werden.

SED -Befehl wird wie folgt aufgerufen:

$ sed -options Befehl [Datei zu bearbeiten] 

Zum Beispiel zum Ersetzen aller Fälle von 'Unix' mit 'Linux', rufen Sie den Befehl auf:

$ sed 's/unix/linux' Hallo.txt 
Zeichenfolge in einer Datei ersetzen

Wenn Sie die Ausgabe umleiten möchten, anstatt sie auf das Terminal zu drucken, verwenden Sie das Umleitungszeichen (>) wie gezeigt.

$ sed 's/unix/linux' Hallo.txt> Ausgabe.txt 
Ausgabe der Ausgabe zur Datei umleiten

Die Ausgabe des Befehls wird auf die gespeichert Ausgang.txt Datei anstatt auf dem Bildschirm gedruckt zu werden.

Um weitere Optionen zu überprüfen, die verwendet werden können, lesen Sie erneut die Mannseiten.

$ MAN SED 

3. ACK -Befehl

Ack ist ein schnelles und tragbares Befehlszeilen-Tool, das in Perl geschrieben wurde. Ack wird als freundlicher Ersatz für angesehen Grep -Dienstprogramm und Ausgänge führen visuell ansprechende Weise.

Ack Der Befehl durchsucht die Datei oder das Verzeichnis nach den Zeilen, die die Übereinstimmung für die Suchkriterien enthalten. Anschließend wird die passende Zeichenfolge in den Zeilen hervorgehoben.
Ack hat die Fähigkeit, Dateien basierend auf ihren Dateierweiterungen und bis zu einem gewissen Grad auf den Inhalt in den Dateien zu unterscheiden.

ACK -Befehlssyntax:

$ ack [Optionen] Muster [Datei…] $ ack -f [Optionen] [Verzeichnis…] 

Zum Beispiel, um nach dem Suchbegriff zu überprüfen Linux, laufen:

$ ack Linux Hallo.txt 
Überprüfen Sie eine Zeichenfolge in einer Datei

Das Suchwerkzeug ist ziemlich intelligent und wenn der Benutzer keine Datei oder Verzeichnis bereitstellt, durchsucht es das aktuelle Verzeichnis und die Unterverzeichnisse für das Suchmuster.

Im folgenden Beispiel wurde keine Datei oder Verzeichnis bereitgestellt, ACK hat jedoch die verfügbare Datei automatisch erkannt und nach dem angegebenen Matching -Muster gesucht.

$ ack Linux 
Suchzeichenfolge in einem Verzeichnis

Installieren ack Führen Sie auf Ihrem System den Befehl aus:

$ sudo apt Installieren Sie ACK-Grep [auf Debian/Ubuntu] $ sudo dnf install ack-Grep [auf CentOS/Rhel] 

4. Awk Befehl

Awk ist eine vollwertige Skriptsprache und auch ein Tool für Textverarbeitung und Datenmanipulation. Es durchsucht Dateien oder Programme, die das Suchmuster enthalten. Wenn die Zeichenfolge oder das Muster gefunden wird, awk Ergreifen Sie Aktionen in der Übereinstimmung oder der Zeile und druckt die Ergebnisse auf Stdout.

Der Awk Das Muster ist zwischen lockigen Klammern eingeschlossen, während das gesamte Programm in einzelnen Zitate eingeschlossen ist.

Nehmen wir das einfachste Beispiel. Nehmen wir an, Sie drucken das Datum Ihres Systems wie gezeigt:

$ Datum 
Überprüfen Sie das Linux -Systemdatum

Angenommen, Sie möchten nur den ersten Wert ausdrucken, der der Wochentag ist. In diesem Fall den Ausgang eingeben awk wie gezeigt:

$ Datum | awk 'print $ 1' 

Um nachfolgende Werte anzuzeigen, trennen Sie sie unter Verwendung eines Kommas wie gezeigt:

$ Datum | awk 'print $ 1, $ 2' 

Der obige Befehl zeigt den Wochentag und das Datum des Monats an.

AWK -Befehlsbeispiele

Um mehr Optionen zu erhalten, mit denen Sie verwenden können awk, Lesen Sie einfach unsere AWK -Befehlsreihe.

5. Silbersucher

Der Silbersuche ist ein plattformübergreifender und openSource-Code-Suchwerkzeug ähnlich wie ack Aber mit Schwerpunkt auf Geschwindigkeit. Sie erleichtern Sie leicht, um in kürzester Zeit nach einem bestimmten Zeichenfolge in Dateien zu suchen:

Syntax:

$ ag Optionen Search_Pattern/Path/to/Datei 

Zum Beispiel, um nach der Zeichenfolge zu suchen 'Linux'In einer Datei Hallo.txt Rufen Sie den Befehl auf:

$ Ag Linux Hallo.txt 
Zeichenfolge in der Datei suchen

Weitere Optionen finden Sie auf den Mannseiten:

$ MAN AG 

6. RIPGREP

Zuletzt haben wir das RipGrep-Befehlszeilen-Tool. RIPGREP ist ein plattformübergreifendes Dienstprogramm für die Suche nach Regex-Mustern. Es ist viel schneller als alle früher genannten Suchwerkzeuge und rekursiv Suchverzeichnisse nach Übereinstimmungsmustern. In Bezug auf Geschwindigkeit und Leistung sticht kein anderes Tool heraus RIPGREP.

Standardmäßig, RIPGREP Überspringen Sie Binärdateien/versteckte Dateien und Verzeichnisse. Seien Sie außerdem darauf hingewiesen, dass es standardmäßig nicht nach Dateien gesucht wird, die von ignoriert werden .Gitignore/.ignorieren/.rgignore Dateien.

RIPGREP Ermöglichen Sie auch, nach bestimmten Dateitypen zu suchen. Zum Beispiel, um Ihre Suche auf zu begrenzen JavaScript Dateien ausgeführt:

$ rg -tsj 

Die Syntax für die Verwendung von RIPGrep ist recht einfach:

$ rg [Optionen] Muster [Pfad…] 

Zum Beispiel. So suchen Sie nach Instanzen der Zeichenfolge "Linux" Führen Sie in Dateien im aktuellen Verzeichnis den Befehl aus:

$ RG Linux 
Suchen Sie nach Zeichenfolge in einer Datei

Installieren RIPGREP Führen Sie auf Ihrem System die folgenden Befehle aus:

$ sudo apt installieren Sie Ripgrep [auf Debian/Ubuntu] $ sudo pacman -s ripgrep [auf Arch Linux] $ sudo zypper install RIPGrep [auf OpenSuse] $ sudo dnf install RIPGrep [auf Centos/Rhel/Fedora] 

Weitere Optionen finden Sie auf den Mannseiten:

$ MAN RG 

Dies sind einige der am häufigsten verwendeten Befehlszeilen-Tools zum Suchen, Filtern und Manipulieren von Text unter Linux. Wenn Sie andere Tools haben, die Sie ausgelassen haben, teilen Sie uns im Kommentarbereich mit.