So finden Sie alle Dateien mit spezifischem Text unter Linux

So finden Sie alle Dateien mit spezifischem Text unter Linux

In diesem Tutorial werden Sie vermittelt, wie Sie rekursiv nach Dateien suchen, die eine bestimmte Zeichenfolge unter Linux über die Befehlszeile enthalten. In diesem Tutorial wird der Befehl "Grep" verwendet, um in Dateien nach Zeichenfolgen zu suchen. Alternativ können Sie den Befehl Find verwenden, um nach Dateien mit spezifischem Inhalt zu suchen.

Eine grundlegende Syntax zum Suchen von Text mit GREP -Befehl:

Grep -rl "Search -String"/Pfad/to/serch/dir
1Grep -rl "Search -String"/Pfad/to/serch/dir

Der Befehl Grep bietet weitere nützliche Optionen, um spezifischen Text in Dateisystemen zu finden.

  • -r, -rekursiv: Suchdateien rekursiv
  • -R,-Deneference-Recursive: Suchdateien rekursiv und folgen Symlinks
  • --include = file_pattern: Suchen Sie nur Dateien, die mit Datei_Pattern übereinstimmen
  • --ausschließen = Datei_Pattern: Überspringen Sie Dateien und Verzeichnisse, die Datei_Pattern entsprechen
  • --FROM = Datei ausschließen: Überspringen Sie Dateien, die zu einem Dateimuster aus der Datei übereinstimmen
  • --ausschließen dir = muster: Verzeichnisse, die übereinstimmen, werden übersprungen.
  • -L,-Files mit dem Match: Druckdateinamen mit kein Übereinstimmung ausdrucken
  • -L,-Files mit Match: Drucken Sie nur Dateinamen, die nur Dateinamen enthalten
  • -Ich,-IGNORE-CASE: Ignorieren Sie den Fall einer Suchzeichenfolge
  • -e, -Regexp = Muster: Verwenden Sie ein Muster, um mehrere Suchzeichenfolgen zu durchsuchen oder anzugeben
  • -W,-Wort-Regexp: zwingen, ganze Wörter abzustimmen

Es gibt verschiedene Möglichkeiten, den Befehl Grep zu verwenden, um Text zu durchsuchen. Lassen Sie uns einige Beispiele für die Suche nach einem Text/einer Zeichenfolge im Dateisystem erörtern.

  1. Suchen Sie in allen Dateien eine Zeichenfolge
  2. Im folgenden Beispiel wird der Zeichenfolge „Fehler“ in allen Dateien in /var /Protokollverzeichnis und deren Unterverzeichnisse durchsucht.

    Grep -rlw "Fehler" /var /log  
    Suchen Sie einen bestimmten Text in allen Dateien mit der Befehlszeile

  3. Durchsuchen Sie mehrere Zeichenfolge in allen Dateien
  4. Der -e Der Schalter kann auch verwendet werden, um mehrere Zeichenfolgen zu finden. Dies ist vergleichbar mit dem Egrep Programm. Das folgende Beispiel wird nach suchen "Fehler" Und "Warnung" in allen Dateien in der /var/log Verzeichnis und seine Unterverzeichnisse.

    grep -rlw -e "Fehler" -e "Warnung" /var /log  
    Durchsuchen Sie mehrere Zeichenfolge in allen Dateien mit der Befehlszeile

  5. Suchen Sie in bestimmten Dateien Zeichenfolge
  6. Sie können Zeichenfolgen in Dateien durchsuchen, die den Dateinamenkriterien übereinstimmen. Der folgende Befehl sucht nach "Fehler" in Dateien mit dem .Protokoll Erweiterung in der /var/log Verzeichnis und seine Unterverzeichnisse.

    grep -rlw -include = "*.Log "-e" Fehler " /var /log  

  7. Einige Dateien von der Suche ausschließen
  8. Du kannst den ... benutzen --ausschließen Option in Find, um einige Dateien auszuschließen, die bestimmte Dateinamenkriterien entsprechen. Zum Beispiel können Sie Dateien mit dem ausschließen .txt Verlängerung.

    grep -rlw -exclude = "*.txt "-e" tecadmin " /var /log  

  9. Einige Verzeichnisse von der Suche ausschließen
  10. Sie können auch die Suche nach bestimmten Verzeichnissen überspringen. Suchen Sie beispielsweise nicht nach String -Dateien in einem Ordner mit Apache2 in seinem Namen.

    grep -rlw -exclude -dir = "*apache2*" -e "tecadmin" /var /log  

Abschluss

Sie haben gelernt, wie man in diesem Tutorial nach bestimmten Text in Dateien auf dem Linux -Dateisystem sucht.