Im folgenden Artikel werden wir einige sehen Befehlszeilentools zum Suchen passender Zeichenfolgen oder Muster in Textdateien. Diese Werkzeuge werden im Allgemeinen in Verbindung mit regulären Ausdrücken verwendet, die als abgekürzt werden REGEXDies sind eindeutige Zeichenfolgen zur Beschreibung eines Suchmusters.
Reguläre Ausdrücke sind Muster, mit denen eine bestimmte Kombination von Zeichen in einer Textzeichenfolge gefunden wird. Reguläre Ausdrücke bieten eine sehr flexible Möglichkeit, Textzeichenfolgen zu suchen oder zu erkennen. Obwohl in den folgenden Zeilen keine regulären Ausdrücke angezeigt werden, werden Muster oder Zeichenfolgen verwendet.
Suchen Sie im Terminal nach Zeichenfolgen oder Mustern
Grep-Befehl
Grep ist eine Abkürzung für Globaler Ausdruck für reguläre Ausdrücke. Dies ist ein leistungsstarkes Befehlszeilenprogramm, das nützlich ist, wenn Sie nach einer bestimmten Zeichenfolge oder einem bestimmten Muster in einer Datei suchen. Mit grep Wir werden in der Lage sein, eine breite Palette von Funktionen zu nutzen, wie sie uns vor einiger Zeit ein Kollege in diesem Blog erklärt hat.
Die Syntax für die Verwendung des Befehls grep ist ziemlich einfach:
grep PATRON [RUTA AL ARCHIVO]
Zum Beispiel, um nach der Zeichenfolge zu suchen 'Ubuntu'in einer Datei, die wir in diesem Beispiel aufrufen werden text.txtOhne Berücksichtigung der Unterscheidung zwischen Groß- und Kleinschreibung müssen wir in einem Terminal (Strg + Alt + T) nur den folgenden Befehl ausführen:
grep -i Ubuntu texto.txt
Befehl sed
Durst ist die Abkürzung für Stream-Editor. Es ist ein weiteres nützliches Werkzeug für das Terminal, mit dem wir Text in einer Datei bearbeiten können. Sed sucht, filtert und ersetzt Zeichenfolgen in einer bestimmten Datei.
Der Befehl sed druckt standardmäßig die Ausgabe in STDOUT (Standardausgabe). Dies bedeutet, dass das Ergebnis der Ausführung auf dem Terminal gedruckt wird, anstatt in einer Datei gespeichert zu werden.
Der Sed-Befehl kann wie folgt verwendet werden:
sed -OPCIONES COMANDO [RUTA AL ARCHIVO]
Zum Beispiel, um alle Vorkommen von 'zu ersetzenLinux'in einem Text von'Linux'wäre der zu verwendende Befehl der folgende:
sed 's/Linux/GnuLinux/g' texto.txt
Wenn was wir suchen ist Leiten Sie die Ausgabe in eine Datei um, anstatt sie auf dem Terminal zu druckenWir werden das Umleitungszeichen wie folgt verwenden:
sed 's/Linux/GnuLinux/g' texto.txt > salida.txt
Die Ausgabe des Befehls wird in der Datei gespeichert output.txt anstatt auf dem Bildschirm gedruckt zu werden.
Um weitere Optionen anzuzeigen, können Sie Konsultieren Sie die Manpages:
man sed
Ack
Ack ist ein schnelles Kommandozeilen-Tool, das in Perl geschrieben wurde. Es wird als freundlicher Ersatz für das Dienstprogramm grep angesehen, was auch optisch attraktive Ergebnisse liefert.
zu ack installieren In unserem System müssen wir im Terminal ausführen (Strg + Alt + T):
sudo apt install ack
Der Befehl Ack durchsucht die Datei oder das Verzeichnis nach den Zeilen, die die Übereinstimmung mit den Suchkriterien enthalten. Markieren Sie dann die entsprechende Zeichenfolge. Dieses Tool kann Dateien anhand ihrer Erweiterungen unterscheiden.
Die Syntax des Befehls Ack lautet wie folgt
ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]
Zum Beispiel, um nach dem Begriff zu suchen Linux In einer Datei müssten wir Folgendes ausführen:
ack Linux texto.txt
Das Suchwerkzeug ist ziemlich schlau und Wenn der Benutzer keine Dateien oder Verzeichnisse bereitstellt, durchsucht er das aktuelle Verzeichnis und die Unterverzeichnisse nach dem Suchmuster.
Im folgenden Beispiel wird keine Datei oder kein Verzeichnis bereitgestellt. Ack erkennt automatisch die verfügbare Datei im Verzeichnis und sucht nach dem passenden Muster:
ack Linux
Rippgrep
Rippgrep ist ein plattformübergreifendes Dienstprogramm zur Suche nach Mustern für reguläre Ausdrücke. Es ist schneller als alle oben genannten Suchwerkzeuge und durchsucht Verzeichnisse rekursiv nach übereinstimmenden Mustern. Außerdem können Sie nach bestimmten Dateitypen suchen. Standardmäßig überspringt ripgrep Binärdateien und versteckte Dateien / Verzeichnisse.
zu installiere ripgrep Auf dem System müssen Sie lediglich den folgenden Befehl im Terminal ausführen (Strg + Alt + T):
sudo apt install ripgrep
Die Syntax für die Verwendung von ripgrep ist ziemlich einfach:
rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]
Wenn wir nach der Kette suchen wollten 'Linux'In Dateien, die sich im aktuellen Verzeichnis befinden, müssen wir nur den folgenden Befehl ausführen:
rg Linux
Um weitere Optionen anzuzeigen, können Benutzer verwenden Manpages:
man rg
Silber Sucher
zu Installieren Sie dieses ToolIn Ubuntu müssen wir nur ein Terminal öffnen (Strg + Alt + T) und den folgenden Befehl schreiben:
sudo apt install silversearcher-ag
Silver Searcher ist ein plattformübergreifendes Open-Source-Suchwerkzeug, das ack ähnelt, jedoch den Schwerpunkt auf Geschwindigkeit legt. Es macht es einfach, eine bestimmte Zeichenfolge in Dateien in kürzester Zeit zu finden. Die zu verwendende Syntax wäre:
ag OPCIONES PATRÓN_DE_BÚSQUEDA /ruta/al/archivo
Zum Beispiel, um nach 'zu suchenLinux' in der Datei text.txtmüssten wir in das Terminal schreiben (Strg + Alt + T):
ag Linux texto.txt
Um mehr Optionen zu sehen, können wir die konsultieren Manpages:
man ag
Dies sind nur einige der am häufigsten verwendeten Befehlszeilentools zum Suchen, Filtern und Bearbeiten von Text unter Linux.