Home » Linux » Mit GREP und FIND Dateien und Inhalte suchen und finden

Mit GREP und FIND Dateien und Inhalte suchen und finden

Mit find und grep sucht ihr unter Linux Dateien und Inhalte direkt in der Konsole. Die Befehle find und grep sind zwei äusserst nützliche Werkzeuge in Unix- und Linux-Systemen, mit denen Benutzer effizient nach Dateien und Inhalten suchen können. find ermöglicht es euch, Dateien und Verzeichnisse zu suchen, während grep zum Durchsuchen des Textinhalts von Dateien verwendet wird.

Find-Befehl

Der find-Befehl in Unix und Linux wird verwendet, um Dateien und Verzeichnisse im Dateisystem zu suchen. Ihr könnt nach Dateien suchen, die bestimmten Kriterien entsprechen, einschließlich, aber nicht beschränkt auf den Namen, die Größe, den Dateityp und das Datum der letzten Änderung.

Grundlegende Nutzung von find

Die grundlegendste Nutzung von find ist, nach Dateien anhand ihres Namens zu suchen:

find /pfad/zum/suchen -name "Dateiname"

Wollt Ihr also z.B in Eurer Nextcloud nach der config.php suchen, geht das mit dem Befehl:

find /var/www/nextcloud -name config.php

Als Resltat also /var/www/yourdevice/config/config.php

Suche nach Dateitypen

Ihr könnt auch nach bestimmten Dateitypen suchen, wie z.B. Verzeichnissen (d), symbolischen Links (l), regulären Dateien (f):

find / -type f -name "Dateiname"
find / -type d -name "Verzeichnisname"

Suchen wir den Ordner plugins in einer WordPress Installation, würde das so aussehen:

find /var/www/yourdevice/ -type d -name plugins

Suche nach Größe

Der find Befehl kann auch Dateien anhand ihrer Größe finden:

find /etc/apt -size +100M

Der obige Befehl findet Dateien, die größer als 100 Megabyte sind. Nach dem Schrägstrich könnt Ihr die Suche in dem angebenen Ordner präzisieren. Ihr könnt die Befehle auch kombinieren, z.B die Suche nach einer bestimmten Datei mit einer grösse von von einer gewissen Grösse. Suchen wir z.B nach allen php Dateien mit einer grösse von 2MB in unserem WordPress Ordner, könnte das so aussehen:

find /var/www/wordpress/ -name "*.php" -size 2MB

Bitte benutzt bei Wildcardbefehlen die Anführungszeichen. Habt Ihr einen festen Namen nachdem Ihr sucht, benötigt Ihr diese nicht. Der Wildcardbefehl wäre das Sternchen was bedeutet dass nach allen Namen gesucht wird welche PHP Dateien sind.

Weitere Kombinationen sind natürlich auch möglich. Zum Beispiel lassen sich nach allen Text Datei in einen bestimmten Order suchen, und darauf die Löschfunktion anzuwenden. Möchte ich alle Text Dateien in den Dokumenten meines Homeordners löschen, würde das so aussehen:

find ~/Dokumente -name "*.txt" -exec rm {} ;

Möchtet Ihr gefragt werden ob gelöscht werden soll, verwendet den -i Schalter nach dem rm Befehl:

find ~/Dokumente -name "*.txt" -exec rm -i {} ;

Bestätigt mit y oder n

Bitte seid vorsichtig mit -exec Befehlen, besonders wenn Löschfunktionen ohne i- Schalter angewendet werden. Der Befehl löscht alles was im in den Weg kommt.

Grep-Befehl

grep steht für "Global Regular Expression Print". Mit grep könnt Ihr Text oder Ausgaben nach bestimmten Zeichenketten oder regulären Ausdrücken durchsuchen.

Grundlegende Nutzung von grep

Die grundlegende Syntax für grep ist:

grep 'suchwort' /pfad/zur/datei

Fallunempfindliche Suche

Um nach Text zu suchen, ohne auf Groß- und Kleinschreibung zu achten, verwendet den -i Schalter:

grep -i 'suchwort' /pfad/zur/datei

Wollt Ihr in Eurer nextcloud config.php z.B nach dem Ausruck Array suchen, bzw wollt wissen ob der Ausdruck darin vorkommt, geht das mit:

grep -i array /var/www/nextcloud/config/config.php

Der Rechner gibt die Zeilen aus in dem das word array enthalten ist. Falls nichts angegeben wird, ist das Suchwort nicht in der Datei enthalten.

Suche mit regulären Ausdrücken

grep kann auch reguläre Ausdrücke verwenden, um Muster in Texten zu finden. Zum Beispiel findet der folgende Befehl alle Zeilen, die ein Wort enthalten, das mit 'ab' beginnt:

grep -E 'abw*' /pfad/zur/datei

Kombination von find und grep

Die wirkliche Macht kommt zum Vorschein, wenn Ihr find und grep kombiniert. Hier ist ein einfaches Beispiel, wie Ihr diese beiden Befehle kombinieren könnt:

find /pfad/zum/suchen -type f -name "*.txt" -exec grep -i 'suchwort' {} ;

In diesem Beispiel wird find verwendet, um nach allen .txt-Dateien im angegebenen Pfad zu suchen. Dann wird grep auf jede dieser Dateien angewendet, um nach dem 'suchwort' zu suchen.

Nehmen wir an ich suche die config.php Datei der Nextcloud und möchte wissen ob darin das word smtp enthalten ist, weil ich beispielsweise die Mail-Einstellungen überprüfen möchte. Der Befehl würde so aussehen:

find /var/www/nextcloud -name config.php -exec grep -i smtp {} ;

Insgesamt sind find und grep sehr leistungsfähige Werkzeuge zur Dateisuche und Textverarbeitung in Unix- und Linux-basierten Systemen. Mit einer gründlichen Kenntnis dieser Befehle und ihrer Optionen könnt Ihr schnell durch Euer Dateisystem navigieren und Inhalte effizient finden.

Linux-Server macht Probleme?

Wir helfen euch bei Linux und euren Servern

Ob Konfiguration, Updates oder Fehlersuche: Linux-Support remote in der ganzen Schweiz oder vor Ort ab Bülach, CHF 135 pro Stunde. Für die laufende Betreuung gibt es die Server-Wartung ab CHF 89 pro Server und Monat.

IT-Service ansehen

Ich hoffe Euch etwas mehr Verständnis in die tiefen der Konsole gebracht zu haben. Habt Ihr Fragen? Schreibt sie in die Kommentare!

Ähnliche Beiträge

  • Ubuntu 22.04 auf 24.04 upgraden

    Im Gegensatz zu Debian bietet Ubuntu und Linux Mint einen grafischen Upgrade-Assistent. Es gibt aber auch eine Terminal-basierte Methode, die sauberer und zuverlässiger ist – besonders auf Servern. Dieser Artikel...

  • LibreOffice auf Deutsch umstellen

    In diesem kurzen Artikel zeige ich euch, wie ihr LibreOffice auf Deutsch, oder auch andere Sprachen, einfach umstellen könnt. Habt ihr eine Linux Distro installiert, ist LibreOffice meisst auf Englisch...

  • Mit CrowdSec Server absichern

    In weniger als 5 Minuten könnt ihr euren Server mit der OpenSource und Gemeindschaftssoftware Crowdsec absichern. In der digitalen Welt von heute ist die Sicherheit unserer Server von entscheidender Bedeutung....

  • Linux Kernel einfach updaten

    Ein Linux Kernel Update bringt euch neue Treiber und hilft bei Problemen mit neuer Hardware: In dieser Anleitung lernt ihr, wie ihr den Linux Kernel unter Ubuntu und Linux Mint...

  • |

    VeraCrypt unter Linux installieren und nutzen

    VeraCrypt unter Linux installieren und nutzen: VeraCrypt ist eine freie Verschlüsselungssoftware mit offenem Quellcode, die auch unter Linux Mint und Ubuntu läuft. Sie schützt sensible Daten – von einzelnen Dateien...

Ein Kommentar

  1. Hey Mario, nachdem mir der Befehl aus der Kombination eine Fehlermeldung geliefert hat („find: Fehlendes Argument für »-exec«.“) stand ich erst einmal auf dem Schlauch.
    Bei pplx.ai dann einfach
    korrektur
    find / -type f -iname „*.txt“ -exec grep -i ‚expression‘ {} ;
    eingegeben. Die Antwort kam prompt; ganz im Vergleich zur üblichen Suche mit der Suchmaschine der Wahl: „Der gegebene Befehl hat einen Fehler in der Syntax, da nach -exec ein abschließendes \; fehlt. Dies ist notwendig, um den -exec-Block korrekt zu beenden.“
    Somit, korrigiert:
    find / -type f -iname „*.txt“ -exec grep -i ‚expression‘ {} \;

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert