So finden Sie alle Dateien mit einem bestimmten Text mit Linux Shell
- 3546
- 253
- Miriam Bauschke
Zielsetzung
Der folgende Artikel enthält einige nützliche Tipps zum Suchen aller Dateien in einem bestimmten Verzeichnis oder des gesamten Dateisystems, das ein bestimmtes Wort oder eine bestimmte Zeichenfolge enthält.
Schwierigkeit
EINFACH
Konventionen
- # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können
sudo
Befehl - $ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können
Beispiele
Suchen Sie alle Dateien mit einem bestimmten Zeichenfolge nicht rekursiv
Das erste Befehlsbeispiel sucht nach einer Zeichenfolge strecken
in allen Dateien innerhalb /usw/
Verzeichnis und ohne Unter-Verzeichnisse ausschließen:
# Grep -S Stretch/etc/*/etc/os-release: hübsch_name = "Debian GNU/Linux 9 (Stretch)"/etc/os-release: Version = "9 (Stretch)"
Der -S
Die GREP -Option unterdrückt Fehlermeldungen zu nicht vorhandenen oder nicht lesbaren Dateien. Die Ausgabe zeigt Dateinamen und druckt die tatsächliche Zeile mit der angeforderten Zeichenfolge aus.
Suchen Sie alle Dateien mit einem bestimmten Zeichenfolge rekursiv
Der obige Befehl ließ alle Unterverzeichnisse aus. Rekursiv zu suchen bedeutet, auch alle Unterverzeichnisse zu durchqueren. Der folgende Linux -Befehl sucht nach einer Zeichenfolge strecken
in allen Dateien innerhalb /usw/
Verzeichnis einschließlich aller Unterverzeichnisse:
# Grep -r Stretch/etc/*/etc/apt/Quellen.Liste:# Deb Cdrom: [Debian GNU/Linux-Test _STRETH_-Offizieller Snapshot AMD64 Netinst Binary-1 20170109-05: 56]/Stretch Main/etc/apt/Quellen.Liste: #DEB CDROM: [Debian GNU/Linux-Test _STRETCH_-Offizieller Snapshot AMD64 Netinst Binary-1 20170109-05: 56]/Stretch Main/etc/apt/Quellen.Liste: Deb http: // ftp.au.Debian.org/debian/Stretch main/etc/apt/Quellen.Liste: Deb-Src http: // ftp.au.Debian.org/debian/Stretch main/etc/apt/Quellen.Liste: Deb http: // Sicherheit.Debian.org/debian-Security Stretch/Aktualisiert Haupt-/ETC/APT/Quellen.Liste: Deb-Src http: // Sicherheit.Debian.org/debian-Security Stretch/Aktualisiert Haupt-/etc/Wörterbücher-Common/Wörter: Backstretch/etc/Wörterbücher-Common/Wörter: Backtretchs/etc/Wörterbücher-Common/Wörter: Backtretches/etc/Wörterbücher-Common/Wörter: HomeStretch/ etc/wörterbücher-common/wörter: homestretchs/etc/wörterbücher-common/wörter: homestretches/etc/wörterbücher-common/wörter: uttretch/etc/wörterbücher-common/wörter: ausgestreckt/etc/woticaries-common/words: asctretches/ etc/wörterbücher-common/wörter: outtretching/etc/wörterbücher-common/wörter: streck/etc/wörterbücher-common/wörter: striet's/etc/wörterbücher-common/wörter: strecked/etc/wörterbücher-common/wörter: strieter/ usw./Wörterbücher-Common/Wörter: Stretchers/etc/Wörterbücher-Common/Wörter: Streters/etc/Wörterbücher-Common/Wörter: Dehnungen/etc/Wörterbücher-Common/Wörter: Stretchier/etc/Wörterbücher-Common/Wörter: Dehnigste/dauerhaft/ usw./Wörterbücher-Common/Wörter:Stretching/etc/Wörterbücher-Common/Wörter: dehnbar/etc/grub.D/00_Header: Hintergrund_image -m Stretch 'make_system_path_relative_to_its_root "$ grub_background"'/etc/os-release: hübsch_name = "debian gnu/linux 9 (Stretch)"/etc/os-release: Version = "9 (Drise)"
Suchen Sie nach allen Dateien, die ein bestimmtes Wort enthalten
Obenstehendes Grep
Befehlsbeispiel listet alle Dateien auf, die die Zeichenfolge enthalten strecken
. Bedeutet die Zeilen mit Strecken
, gestreckt
usw. werden auch gezeigt. Verwenden Sie Greps -w
Option, nur ein bestimmtes Wort anzuzeigen:
# Grep -rw Stretch/etc/*/etc/apt/Quellen.Liste:# Deb Cdrom: [Debian GNU/Linux-Test _STRETH_-Offizieller Snapshot AMD64 Netinst Binary-1 20170109-05: 56]/Stretch Main/etc/apt/Quellen.Liste: #DEB CDROM: [Debian GNU/Linux-Test _STRETCH_-Offizieller Snapshot AMD64 Netinst Binary-1 20170109-05: 56]/Stretch Main/etc/apt/Quellen.Liste: Deb http: // ftp.au.Debian.org/debian/Stretch main/etc/apt/Quellen.Liste: Deb-Src http: // ftp.au.Debian.org/debian/Stretch main/etc/apt/Quellen.Liste: Deb http: // Sicherheit.Debian.org/debian-Security Stretch/Aktualisiert Haupt-/ETC/APT/Quellen.Liste: Deb-Src http: // Sicherheit.Debian.org/debian-Security Stretch/Aktualisiert Haupt-/etc/wörterbücher-common/wörter: streck/etc/wörterbücher.D/00_Header: Hintergrund_image -m Stretch 'make_system_path_relative_to_its_root "$ grub_background"'/etc/os-release: hübsch_name = "debian gnu/linux 9 (Stretch)"/etc/os-release: Version = "9 (Drise)"
Listen Sie nur Dateinamen auf, die einen bestimmten Text enthalten
Die obigen Befehle können eine unnötige Ausgabe erzeugen. Im nächsten Beispiel werden nur alle Dateinamen enthalten, die die Zeichenfolge enthalten strecken
innerhalb /usw/
Verzeichnis rekursiv:
# Grep -rl Stretch/etc/*/etc/apt/Quellen.Liste/etc/wörterbücher-common/wörter/etc/grub.D/00_Header/etc/os-Release
Führen Sie eine unempfindliche Suche durch
Alle Suchvorgänge sind standardmäßig sensibel, was bedeutet, dass jede Suche nach einer Zeichenfolge strecken
Zeigt nur Dateien an, die den genauen Groß- und Kleinbucher -Match enthalten. Durch die Verwendung von Greps -ich
Option In dem Befehl wird auch alle enthaltenen Zeilen aufgeführt, die enthalten sind Strecken
, STRECKEN
, Strecken
usw., Daher um eine unempfindliche Suche durchzuführen.
# Grep -ril Stretch/etc/*/etc/apt/Quellen.Liste/etc/wörterbücher-common/Standard.Hash/etc/Wörterbücher-Common/Wörter/etc/grub.D/00_Header/etc/os-Release
Bestimmte Dateinamen von der Suche einfügen oder ausschließen
Verwendung Grep
Befehl Es ist auch möglich, nur bestimmte Dateien als Teil der Suche einzugeben. Zum Beispiel möchten wir nur nach einem bestimmten Text/einer bestimmten Zeichenfolge in Konfigurationsdateien mit Erweiterung suchen .Conf
. Das nächste Beispiel finden alle Dateien mit Erweiterung .Conf
innerhalb /usw
Verzeichnis mit String verprügeln
:
# Grep -ril Bash /etc /*.conf oder # grep -ril -include = \*.conf bash /etc /* /etc /adduser.Conf
In ähnlicher Weise verwendet --ausschließen
Option Wir können bestimmte Dateinamen ausschließen:
# grep -ril -exclude = \*.conf bash/etc/*/etc/alternatives/view/etc/alternatives/vim/etc/alternatives/vi/etc/alternatives/vimdiff/etc/alternatives/rvim/etc/alternatives/ex/etc/alternatives/rview/etc. /Bash.bashrc /etc /bash_completion.d/grub/etc/cron.täglich/apt-compat/etc/cron.täglich/exim4-base/etc/wörterbücher-common/standardmäßig.Hash/etc/wörterbücher-common/wörter/etc/inputrc/etc/passwd/etc/passwd-/etc/profil/etc/shells/etc/skel/.Profil/etc/skel/.bashrc/etc/skel/.Bash_logout
Bestimmte Verzeichnisse von der Suche ausschließen
Wie bei Dateien kann Grep auch bestimmte Verzeichnisse von der Suche ausschließen. Verwenden --ausschließen
Option zum Ausschluss des Verzeichnisses von der Suche. Das folgende Suchbeispiel finden Sie alle Dateien, die die Zeichenfolge enthalten strecken
innerhalb /usw
Verzeichnis und ausschließen /etc/grub.D
Aus der Suche:
# grep-exclude-dir =/etc/grub.d -rwl Stretch/etc/*/etc/apt/Quellen.Liste/etc/wörterbücher-common/wörter/etc/os-release
Zeigen Sie eine Zeilennummer an, die durchsuchte Zeichenfolge enthält
Durch die Nutzung -N
Option GREP enthält auch Informationen zu einer Zeilennummer, in der die spezifische Zeichenfolge gefunden wurde:
# Grep -rni Bash /etc /*.conf /etc /adduser.conf: 6: dshell =/bin/bash
Suchen Sie alle Dateien, die keine bestimmte Zeichenfolge enthalten
Das letzte Beispiel wird verwendet -v
Option, um alle Dateien aufzulisten, die kein bestimmtes Schlüsselwort enthalten. Beispiel /usw/
Verzeichnis, die keine Zeichenfolge enthalten strecken
:
# Grep -rlv Stretch /etc /*
Verwandte Linux -Tutorials:
- Dinge zu installieren auf Ubuntu 20.04
- Linux -Befehle: Top 20 wichtigste Befehle, die Sie benötigen, um…
- Grundlegende Linux -Befehle
- So finden Sie eine Zeichenfolge oder einen Text in einer Datei unter Linux
- So grep für Text in Bash -Skripten korrekt Grep
- Suchen Sie alle Dateien mit spezifischem Text
- Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
- So drucken Sie den Verzeichnisbaum mit Linux
- Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 4
- Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 1
- « So aktivieren und deaktivieren Sie das PHP -Curl -Modul mit Apache unter Ubuntu Linux
- Debian Apt-Get-Get-Jessie-Quellen.Liste »