So verwenden Sie grep mit einer großen (Millionen) Anzahl von Dateien, um nach Zeichenfolgen zu suchen und das Ergebnis in wenigen Minuten zu erhalten
Diese Frage bezieht sich aufWie grep effizient nutzen?
Ich versuche, in einem Ordner mit 8-10 Millionen kleinen (~ 2-3 KB) Nur-Text-Dateien nach einer "Zeichenfolge" zu suchen. Ich muss alle Akten kennen, die „Schnur“ haben.
Zuerst habe ich das benutzt
grep "string"
Das war super langsam.
Dann habe ich es versucht
grep * "string" {} \; -print
Basierend auf einer verknüpften Frage habe ich diese verwendet
find . | xargs -0 -n1 -P8 grep -H "string"
Ich erhalte diesen Fehler:
xargs: argument line too long
Kennt jemand einen Weg, um diese Aufgabe relativ schnell zu erledigen?
Ich führe diese Suche auf einem Server aus, auf dem mehr als 50 GB RAM und 14 Kerne CPU verfügbar sind. Ich wünschte, ich könnte irgendwie all diese Rechenleistung nutzen, um diese Suche schneller auszuführen.