2 Stimmen

Suche nach Informationen in Dateien in mehreren Verzeichnissen

Ich muss mehrere Dateien, die sich an verschiedenen Orten befinden, auf eine bestimmte Information hin überprüfen.

Wie kann man also ein Skript erstellen, das in mehreren Verzeichnissen nach dem Argument Wort sucht?

Die Verzeichnisse befinden sich an verschiedenen Orten. Zum Beispiel.

/home/check1/

/opt/log/

/var/status/

1voto

Fred Foo Punkte 341230

Verwenden Sie die grep -R (rekursive) Option und geben grep mehrere Verzeichnisargumente.

1voto

Julian Punkte 1971

Im einfachsten Fall läuft es auf Folgendes hinaus

find . -name '*.c' | xargs grep word

um ein bestimmtes Wort in allen .c-Dateien im aktuellen Verzeichnis und darunter zu finden.

grep -R kann auch für Sie funktionieren, aber es kann ein Problem sein, wenn Sie nicht alle Dateien durchsuchen wollen.

0voto

Xavjer Punkte 8505

Versuchen Sie zu finden http://content.hccfl.edu/pollock/Unix/FindCmd.htm mit Ihren Suchbegriffen und den Verzeichnissen.

0voto

Francisco Puga Punkte 22173

Die Manpage von grep sollte erklären, was Sie brauchen. Wie auch immer, wenn Sie rekursiv suchen müssen, können Sie verwenden:

grep -R --include=PATTERN "string_to_search" $directory

Sie können auch verwenden:

--exclude=PATTERN to skip some file
--exclude-dir=PATTERN to skip some directories

Die andere Möglichkeit ist die Verwendung von find, um die Dateien abzurufen, und die Weiterleitung an grep, um die Zeichenketten zu durchsuchen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X