So finden Sie alle Dateien mit spezifischem Text unter Linux
- 3709
- 566
- Henry Liebold
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/dir1 | Grep -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.
- Suchen Sie in allen Dateien eine Zeichenfolge
Im folgenden Beispiel wird der Zeichenfolge „Fehler“ in allen Dateien in /var /Protokollverzeichnis und deren Unterverzeichnisse durchsucht.
Suchen Sie einen bestimmten Text in allen Dateien mit der BefehlszeileGrep -rlw "Fehler" /var /log
- Durchsuchen Sie mehrere Zeichenfolge in allen Dateien
Der
-e
Der Schalter kann auch verwendet werden, um mehrere Zeichenfolgen zu finden. Dies ist vergleichbar mit demEgrep
Programm. Das folgende Beispiel wird nach suchen "Fehler" Und "Warnung" in allen Dateien in der /var/log Verzeichnis und seine Unterverzeichnisse.
Durchsuchen Sie mehrere Zeichenfolge in allen Dateien mit der Befehlszeilegrep -rlw -e "Fehler" -e "Warnung" /var /log
- Suchen Sie in bestimmten Dateien Zeichenfolge
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
- Einige Dateien von der Suche ausschließen
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
- Einige Verzeichnisse von der Suche ausschließen
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.