Wie kann ich nach Dateien suchen, die ein bestimmtes Wort enthalten?
Wie kann ich nach Dateien suchen, die ein bestimmtes Wort enthalten?
Antworten:
Mit der Kommandozeile haben Sie mehrere Möglichkeiten. Die 3, die ich am häufigsten benutze, sind ...
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
grep
wie von dr_willis erklärt. Eine Bemerkung: -R
Nach grep
auch in Verzeichnissen gesucht. Beispiel:
cd\
grep -R {something_to_look_for} {where_to_look_in}
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: locate
ist die schnellste (vorausgesetzt, Ihre Datenbank ist auf dem neuesten Stand) und find
die langsamste. Und grep
ist die komplexeste, aber auch die vielseitigste davon, da Sie Regex verwenden können.
grep -R "was" "wo"
Beispiel:
grep -R hello /home
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
Sie können verwenden grep
die Dateien auflisten zu enthalten , word
in der angegebenen directory
:
grep -Ril word directory
Hier:
* -R
Dateien in Unterverzeichnissen rekursiv durchsuchen.
* -i
Text ignorieren
* -l
Dateinamen anstelle von Dateiinhaltsteilen anzeigen. (Hinweis: -L
Zeigt Dateinamen an, die das Wort nicht enthalten.)
Verwenden Sie man grep
, um alle Optionen abzurufen
-i
Führt eine Suche durch, bei der die Groß- und Kleinschreibung nicht berücksichtigt wird.