To pytanie jest związane z How to use grep efficiently?Jak używać grep z dużymi (mln) liczbę plików, aby wyszukać ciąg i uzyskać wynik w ciągu kilku minut
próbuję wyszukać „string” w folderze, który ma 8-10 milionów małych (~ 2-3kb) plików tekstowych. Muszę znać wszystkie pliki, które mają "ciąg".
Na pierwszy użyłem tego
grep "string"
który był bardzo powolny.
Potem próbowałem
grep * "string" {} \; -print
podstawie połączonego pytanie, kiedyś to
find . | xargs -0 -n1 -P8 grep -H "string"
otrzymuję ten błąd:
xargs: argument line too long
Czy ktoś zna sposób, aby wykonać to zadanie względnie szybszy?
Uruchamiam to wyszukiwanie na serwerze, który ma więcej niż 50 GB dostępnej pamięci RAM i 14 rdzeni procesora. Chciałbym jakoś wykorzystać całą moc obliczeniową, aby szybciej przeprowadzić to wyszukiwanie.
Czy chcesz wiedzieć, w którym pliku znajduje się ciąg? Czy wystarczy znać ciąg w jednym lub więcej plików w katalogu? –
Potrzebuję znać całą nazwę pliku, w którym znaleziono ciąg. – Watt