logo

So finden Sie unter Linux alle Dateien, die einen bestimmten Text (Zeichenfolge) enthalten

Angenommen, Sie suchen unter Linux nach einer Datei, haben aber deren Namen vergessen. Sie erinnern sich nur an den Inhalt der Datei. Wie finden Sie die Datei in diesem Fall? Nun, es gibt einige nützliche Methoden, die Ihnen helfen, unter Linux eine Datei zu finden, die einen bestimmten Text (oder eine bestimmte Zeichenfolge) enthält. Die Zeichenfolge muss vom Benutzer angegeben werden. Werfen wir also einen Blick auf die Methoden:

Methoden zum Suchen aller Dateien, die einen bestimmten Text (Zeichenfolge) enthalten, unter Linux

Methode 1: grep-Befehl

grep-Befehl unter Linux, mit dem nach Dateien gesucht wird, die einen bestimmten Text oder eine bestimmte Zeichenfolge enthalten. Standardmäßig werden uns die Zeilen in den Dateien angezeigt, die den jeweiligen Text enthalten. Wenn wir die Option -l hinzufügen, zeigt uns der Befehl alle Dateien an, die den jeweiligen Text enthalten.



Beispiel:

Angenommen, wir haben ein Verzeichnis, das zwei Dateien mit den Namen file1.txt und file2.txt enthält.

Inhalt von file1.txt:



This line contains text.>

Inhalt von file2.txt:

You should learn Data Structures & Algorithms.>

Jetzt verwenden wir den Befehl grep mit der Option -l, um in bestimmten Dateien im aktuellen Verzeichnis nach Text zu suchen. Sehen Sie sich das folgende Beispiel an:



Variables globales Javascript

Aus dem obigen Beispiel kann klar gesagt werden, dass der Befehl grep die angegebene Zeichenfolge in file1.txt erfolgreich gefunden hat. Als Ergebnis wurde der Dateiname auf dem Bildschirm angezeigt.

Wir können grep auch mit der Option -i anweisen, den Fall zu ignorieren. Schauen Sie sich das folgende Beispiel an:

Oben haben wir zuerst den vorherigen Befehl verwendet, aber die angegebene Zeichenfolge ist Text. Da file1.txt Text und keinen Text enthält, wird dieser nicht berücksichtigt. Hier wird der Suchvorgang unter Berücksichtigung des Einzelfalls durchgeführt. Dann haben wir die Option -i verwendet. Infolgedessen wird die Groß-/Kleinschreibung ignoriert und die angegebene Zeichenfolge stimmt mit der Zeichenfolge überein, die in file1.txt enthalten ist. Daher wird der Dateiname auf dem Bildschirm angezeigt.

Alya Manasa

Eine weitere Variante ist die Verwendung der Option -r. Es schlägt grep vor, rekursiv nach der angegebenen Zeichenfolge im aktuellen Verzeichnis und seinen Unterverzeichnissen zu suchen. Schauen Sie sich das folgende Beispiel an:

file1.txt und file2.txt befinden sich im Dateiordner, nicht im aktuellen Verzeichnis, d. h. auf dem Desktop. Wenn wir also die Option -r nicht verwenden, werden keine Dateien mit passenden Zeichenfolgen gefunden, da diese im aktuellen Verzeichnis nicht vorhanden sind. Aber wir haben die Option -r verwendet und auch die Dateinamen weggelassen. Daher sucht grep nicht nur im aktuellen Verzeichnis, sondern auch in seinen Unterverzeichnissen nach passenden Zeichenfolgen. Daher wird file1.txt gefunden und auf dem Bildschirm angezeigt.

Methode 2: Die Kombination aus den Befehlen find und grep

finden ist ein weiterer nützlicher Befehl unter Linux. Wir kombinieren find mit der Option -type f, um nach Dateien zu suchen, und der Option -exec, um grep auf die gefundenen Dateien anzuwenden. Schauen Sie sich das folgende Beispiel an:

Offensichtlich findet die Suchoperation Datei1.txt, da sie die passende Zeichenfolge enthält. Daher wird der Dateiname auf dem Bildschirm angezeigt.

Methode 3: Suchen Sie mit mc nach Dateien, die bestimmten Text enthalten

Wir können auch mit Midnight Commander (mc) nach Dateien suchen. Öffnen Sie die Anwendung und drücken Sie Alt + Umschalt + ? , um das Dialogfeld „Datei suchen“ zu öffnen. Oben sehen Sie ein Startfeld. Geben Sie in das Feld den Pfad ein, in dem sich die Dateien befinden. Geben Sie dann unter dem Inhaltsfeld die Zeichenfolge ein, nach der Sie suchen möchten. In unserem Fall haben wir im Dateiverzeichnis nach Text gesucht:

Unten ist deutlich zu erkennen, dass der Suchvorgang erfolgreich Datei1.txt gefunden hat, die die passende Zeichenfolge enthält.

Methode 4: Befehl ripgrep

ripgrep (geschrieben als rg) ist ein Befehl, der als Alternative zum grep-Befehl verwendet werden kann. Die Implementierung ist unten:

Knn-Algorithmus

file1.txt wird gefunden und daher wird der Dateiname auf dem Bildschirm angezeigt.

Methode 5: Bestätigungsbefehl

Ein weiterer Befehl, den wir verwenden können, ist der Befehl ack. Hier ist die Umsetzung:

file1.txt wurde erfolgreich gefunden und auf dem Bildschirm angezeigt.