Wie kann ich nach Dateien suchen, die ein bestimmtes Wort enthalten?


37

Wie kann ich nach Dateien suchen, die ein bestimmtes Wort enthalten?


5
Meinen Sie eigentlich Suchdateinamen, die ein bestimmtes Wort enthalten? dh: alle Dateien, deren Name den Begriff FUN enthält, FUN_time.txt FUN_stuff.txt Oder IN einer Datei nach bestimmten Wörtern suchen?
dr_willis

Antworten:


51

Mit der Kommandozeile haben Sie mehrere Möglichkeiten. Die 3, die ich am häufigsten benutze, sind ...

  1. locate {part_of_word}

    Dies setzt voraus, dass Ihre Ortungsdatenbank auf dem neuesten Stand ist. Sie können diese jedoch manuell aktualisieren mit: sudo updatedb

  2. grepwie von dr_willis erklärt. Eine Bemerkung: -RNach grepauch in Verzeichnissen gesucht. Beispiel:

    cd\
    grep -R {something_to_look_for} {where_to_look_in}
    
  3. find . -name '*{part_of_word}*' -print

Wo .befindet sich das Verzeichnis, in dem Sie sich gerade befinden, und *ist ein Platzhalter.

Oh und Sie können diese auch kombinieren. Beispiel: locate {something}|grep {some_part_of_something}|more

Wenn ich mich richtig erinnere: locateist die schnellste (vorausgesetzt, Ihre Datenbank ist auf dem neuesten Stand) und finddie langsamste. Und grepist die komplexeste, aber auch die vielseitigste davon, da Sie Regex verwenden können.



4

Das grep-Kommando wird üblicherweise dafür verwendet.

grep PATTERN filename

und grep kann einige sehr komplexe Suchvorgänge ausführen.

willis@Cow:~$ grep --help
Usage: grep [OPTION]... PATTERN [FILE]...
Search for PATTERN in each FILE or standard input.
PATTERN is, by default, a basic regular expression (BRE).
Example: grep -i 'hello world' menu.h main.c

3
oder du kannst "rgrep word" machen um rekursiv jede Datei und jedes Unterverzeichnis nach "word" zu
durchsuchen

4

Sie können verwenden grepdie Dateien auflisten zu enthalten , wordin der angegebenen directory:

grep -Ril word directory

Hier:
* -RDateien in Unterverzeichnissen rekursiv durchsuchen.
* -iText ignorieren
* -lDateinamen anstelle von Dateiinhaltsteilen anzeigen. (Hinweis: -LZeigt Dateinamen an, die das Wort nicht enthalten.)

Verwenden Sie man grep, um alle Optionen abzurufen


3
Nur damit Sie wissen: -iFührt eine Suche durch, bei der die Groß- und Kleinschreibung nicht berücksichtigt wird.
David Foerster
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.