GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So finden Sie Dateien, die eine bestimmte Textzeichenfolge in Linux enthalten

Fast alle Dateimanager für Linux wie Nemo und Thunar bieten standardmäßig eine Option zum Suchen nach Dateien. Aber wenn Sie mit dem Dateimanager nach einer Zeichenfolge im Inhalt einer Datei suchen möchten, lassen die meisten dies nicht zu.

In diesem Artikel bespreche ich verschiedene Möglichkeiten, die Sie in jeder Linux-Distribution verwenden können, um alle Dateien zu finden, die bestimmte Textzeichenfolgen oder Wörter enthalten, indem Sie rekursiv alle Unterverzeichnisse durchsuchen.

Auf dieser Seite

  • Suchen Sie bestimmten Text in Linux mit dem Catfish-GUI-Tool
  • Suchen Sie bestimmten Text in Linux mit dem Grep-Befehl
  • Suchen Sie bestimmten Text in Linux mit MC (Midnight Commander)

Suchen Sie bestimmten Text in Linux mit dem Catfish-GUI-Tool

Ich beginne mit dem einfachsten Weg, der für alle funktionieren kann, einschließlich Anfänger bis hin zu fortgeschrittenen Linux-Benutzern. Wels ist ein einfaches und leichtes GUI-basiertes Dateisuchtool für Linux-Desktops. Neben der Suche nach Dateien auf Ihrem System können Sie damit auch alle Dateien finden, die ein bestimmtes Wort enthalten.

[ Das könnte Ihnen auch gefallen:So finden Sie Dateien anhand des Zeitstempels in Linux ]

Installieren Sie das Catfish Search Tool unter Linux

Der Wels -Paket ist bereits in den primären Debian- und Ubuntu-Repositories verfügbar. Wenn Sie also Debian- oder Ubuntu-basierte Distributionen verwenden, können Sie diese einfach installieren, indem Sie den folgenden Befehl ausführen:

$ sudo apt install catfish  [On Debian/Ubuntu & Mint]

Bei anderen Linux-Distributionen können Sie es mithilfe Ihres Paketmanagers aus den Standard-Repositories installieren.

$ sudo yum install catfish  [On CentOS/RHEL 7]
$ sudo dnf install catfish  [On CentOS/RHEL 8 & Fedora]
$ sudo pacman -S catfish    [On Arch Linux]
$ sudo pkg_add -v catfish   [On FreeBSD]

Wenn das Paket nicht verfügbar ist, können Sie die neueste Versionsdatei herunterladen, die heruntergeladene tar.bz2-Datei extrahieren und den folgenden Befehl ausführen:

$ sudo python3 setup.py install

Dateiinhalte mit Catfish durchsuchen

Nach der Installation müssen Sie nur noch „Dateiinhalt durchsuchen“ aktivieren “, wählen Sie Verzeichnisse aus der Dropdown-Option oben links aus und geben Sie den Text ein, nach dem Sie suchen möchten. Es listet alle Dateien auf, die Text zusammen mit Dateigröße und Speicherort enthalten.

Sie können auch den Dateityp und den geänderten Datumsfilter im linken Bereich verwenden, um den Suchbereich zu reduzieren. Sie können sogar einen Verzeichnispfad hinzufügen, in dem Sie nicht suchen möchten.

Suchen Sie bestimmten Text in Linux mit dem Grep-Befehl

Neben der GUI übrigens, grep ist eines der beliebtesten Befehlszeilen-Tools, mit dem innerhalb von Dateiinhalten gesucht werden kann. Da fast alle Unix-ähnlichen Betriebssysteme grep ausliefern Dienstprogramm standardmäßig, Sie müssen es nicht installieren.

Nach bestimmtem Text in Dateien suchen

Um nun alle Dateien für eine bestimmte Textzeichenfolge in einem Linux-Terminal zu suchen und zu finden, können Sie den folgenden Befehl ausführen. Hier das '-r' oder '-R' Flag durchsucht rekursiv alle Unterverzeichnisse innerhalb des angegebenen Verzeichnisses.

$ grep -r “linuxshelltips” /home/sarvottam/

Dateinamen finden, die eine bestimmte Zeichenfolge enthalten

Wenn Sie nur Dateinamen drucken und den Text aus der Ausgabe ausblenden möchten, können Sie den '-l' verwenden Flagge.

$ grep -rl “linuxshelltips” /home/sarvottam/

Dateinamen und Zeilennummern drucken, die eine bestimmte Zeichenfolge enthalten

Darüber hinaus können Sie die Ausgabe mit den folgenden Optionen optimieren, die für grep verfügbar sind :

  • 'i' für case-insensitive.
  • 'n' Zeilennummer drucken.
  • 'w' um das ganze Wort abzugleichen.
$ sudo grep -rnwi “linuxshelltips” /home/sarvottam/

Es ist auch erwähnenswert, dass Sie den Befehl sudo verwenden müssen, wenn Sie Verzeichnisse durchsuchen, die Root-Berechtigungen erfordern.

Nach bestimmtem Text in bestimmten Dateitypen suchen

Um den Suchbereich weiter einzuschränken, können Sie auch ausdrücklich den Dateityp und die Verzeichnisse angeben, nach denen bei der Suche nur gesucht werden soll. “--include” , “--exclude” , und “--exclude-dir” sind die verfügbaren Optionen zum Hinzufügen von Dateitypen und Verzeichnisfiltern.

$ grep --include=\*.txt --exclude=\*.{java,js} --exclude-dir=\bin -rnwi "linuxshelltips" /home/sarvottam/

Suchen Sie bestimmten Text in Linux mit MC (Midnight Commander)

Wenn Sie in einem Terminal leben und dennoch Text mit der GUI suchen möchten, können Sie auch das Terminal User Interface (TUI)-basierte Dateimanager-Tool mc ausprobieren (Mitternachtskommandant ) – ist ein visueller Dateimanager, der zum Suchen nach Dateien verwendet wird.

Midnight Commander unter Linux installieren

Der Mitternachtskommandant kann von den Standard-Repositories der meisten Linux-Distributionen installiert werden.

$ sudo apt install mc  [On Debian/Ubuntu & Mint]
$ sudo yum install mc  [On CentOS/RHEL 7]
$ sudo dnf install mc  [On CentOS/RHEL 8 & Fedora]
$ sudo pacman -S mc    [On Arch Linux]
$ sudo pkg_add -v mc   [On FreeBSD]

Dateiinhalte mit Midnigh Commander durchsuchen

Im Terminal mc bietet eine visuelle Darstellung des Dateisystems, in dem Sie entweder mit der Tastatur oder der Maus navigieren können. Um Dateiinhalte zu durchsuchen, können Sie mit ALT+SHIFT+? einen Suchdialog öffnen und geben Sie den Text in den “Content:” ein Abschnitt.

Wie Sie im obigen Bild sehen können, können Sie auch Filter wie Groß-/Kleinschreibung ignorieren, ganze Wörter und reguläre Ausdrücke verwenden, indem Sie sie einfach aktivieren und deaktivieren.

Schlussfolgerung

Alle oben genannten Anwendungen sind anfängerfreundlich, kostenlos und Open Source, um Ihre eigenen Verbesserungen hinzuzufügen. Alternativ können Sie auch andere kostenlose Tools wie Ack, The Silver Searcher, Ripgrep und find command ausprobieren.


Linux
  1. So finden Sie eine Datei in Linux

  2. Wie suche ich in bestimmten Dateien, die einem Muster entsprechen?

  3. So finden Sie bestimmten Text mit GREP unter Linux

  4. Wie kann man unter Linux Binärdateien von Textdateien unterscheiden?

  5. So finden Sie Dateien im DOS-Format in einem Linux-Dateisystem

So finden Sie eine Zeichenfolge in einer Datei unter Linux

So benennen Sie eine Datei (en) in Linux um

So finden und löschen Sie Dateien, die einen bestimmten Text in ihrem Namen in Linux enthalten

So finden Sie Dateien basierend auf dem Zeitstempel in Linux

So finden Sie Dateien, die in den letzten 24 Stunden in Linux geändert wurden

So komprimieren Sie eine Datei unter Linux