Diese Frage zu How to use grep efficiently?Wie grep mit großen (in Millionen) Anzahl von Dateien verwenden, um Zeichenfolge zu suchen und in wenigen Minuten
Ich versuche, für einen „string“ in einem Ordner zu suchen, verwandt Ergebnis erhält die hat 8-10 Millionen kleine (~ 2-3kb) reine Textdateien. Ich muss alle Dateien wissen, die "Zeichenfolge" haben.
Zuerst habe ich diese
grep "string"
Das super langsam war.
Dann habe ich versucht
grep * "string" {} \; -print
Basierend auf verknüpfte Frage, habe ich diese
find . | xargs -0 -n1 -P8 grep -H "string"
ich diesen Fehler:
xargs: argument line too long
Kennt jemand eine Möglichkeit, diese Aufgabe zu erfüllen relativ schneller?
Ich führe diese Suche auf einem Server mit mehr als 50 GB verfügbaren Arbeitsspeicher und 14 Kerne CPU. Ich wünschte, irgendwie könnte ich all diese Verarbeitungsleistung nutzen, um diese Suche schneller auszuführen.
Möchten Sie wissen, in welcher Datei die Zeichenfolge ist? Oder genügt es zu wissen, dass sich die Zeichenfolge in einer oder mehreren Dateien im Verzeichnis befindet? –
Ich muss den ganzen Dateinamen wissen, wo die Zeichenfolge gefunden wird. – Watt