it-swarm.com.de

So finden Sie ein Word in Textdateien aus einem Verzeichnis

Angenommen, ich habe ein Verzeichnis mit dem Namen _file und enthält zwei Unterverzeichnisse wie _1 und _2 und auf jedem habe ich einige Textdateien. Ich möchte ein Wort wie foo in einer dieser Textdateien suchen. Wie kann ich das machen? Ich möchte wissen, welche Textdateien im gesamten Verzeichnis dieses Wort enthalten.

32
  1. Öffnen Sie ein Terminal.
  2. Installieren Sie ack-grep, indem Sie Sudo apt-get install ack-grep eingeben.
  3. Wechseln Sie in das Verzeichnis, in dem Sie suchen möchten, und geben Sie ack-grep foo ein. Es listet alle Übereinstimmungen in allen Dateien in diesem Verzeichnis auf.
10
Mahesh

Wenn Sie keine zusätzliche Software installieren möchten, können Sie einfach grep im Terminal verwenden. Um Verzeichnisse rekursiv zu durchsuchen, können Sie die Option -r verwenden (Details siehe man grep). Die gesuchte Syntax lautet wahrscheinlich:

grep -r "[STRING TO SEARCH FOR]" "[DIRECTORY TO SEARCH]"

Wenn ich beispielsweise in allen Dateien in allen Unterverzeichnissen von "/ tmp/testdir /" nach der Zeichenfolge "asdf" suchen möchte, sieht der Befehl folgendermaßen aus:

grep -r "asdf" "/tmp/testdir/"

Die Anführungszeichen sind nicht unbedingt erforderlich, aber wenn Ihre Zeichenfolge oder Ihr Verzeichnispfad Leerzeichen enthält, müssen Sie sie ansonsten mit dem Zeichen\maskieren ...

62
soulsource

Sie können rekursiv grep mit dem Flag -l verwenden, um nur den Dateinamen anstelle der übereinstimmenden Zeile zu drucken:

grep -Rl foo .

Oder Sie können find verwenden:

find . -type f -exec grep -l foo {} +

Oder. Sie können extglob und normal grep verwenden

shopt -s extglob
grep -l foo **/*
7
terdon

Installieren Sie einfach gnome-search-tool mit Sudo apt-get install gnome-search-tool
Suche im Bindestrich nach "Nach Dateien suchen" und starte es.

Siehe Bild unten:

enter image description here

  1. Lassen Sie den Abschnitt "Name enthält" leer.
  2. Wählen Sie Ihren Ordner.
  3. Klappen Sie den Teil "Weitere Optionen auswählen" auf und wählen Sie "Enthält den Text". Drücken Sie anschließend auf "Hinzufügen".
  4. Geben Sie hier den Text ein, nach dem Sie suchen möchten, und klicken Sie unten rechts auf Suchen.

Genießen.

7
Parto