Ich habe grep zum Durchsuchen von Datenbanken verwendet. Beim Durchsuchen mehrerer Ordner mit mehreren Textdateien habe ich den folgenden Befehl verwendet.
grep 'text_search' */*
Gibt es einen besseren Befehl, der die Suche in großen Datenmengen beschleunigt? Ich bin offen dafür, bei Bedarf auch andere Tools zu verwenden.
Antwort1
Ich bin ein Fan vonAbonnieren
Wenn Sie lieber bei grep bleiben möchten, grep -F
gleicht es Zeichenfolgen und keine Muster ab (was schneller sein kann, aber nicht muss; ich bin nicht sicher, ob moderne greps ein einfaches Muster zu einer Zeichenfolgensuche vereinfachen).
Parallelbetrieb grep
ist auch eine Option. Ich verwendeGNU paralleldafür.
find . -type f | parallel --jobs {#jobs} -n 500 -k -m grep -H {search-pattern} {}
(Jobs und Suchmuster stehen nicht in Klammern; sie zeigen eine Variable an, die Sie eingeben müssen)