Я использовал grep для поиска в базах данных. Я использовал следующую команду при поиске в нескольких папках с несколькими текстовыми файлами.
grep 'text_search' */*
есть ли лучшая команда, которая ускорит процесс поиска в больших объемах данных? Я открыт для использования других инструментов, если это необходимо.
решение1
Я фанатрипгреп
Если вы предпочитаете использовать grep, grep -F
ищите строки, а не шаблоны (что может быть быстрее, а может и нет; я не уверен, упрощают ли современные grep простой шаблон до поиска по строке).
grep
Также возможен вариант параллельного запуска . Я используюGNU-параллельдля этого.
find . -type f | parallel --jobs {#jobs} -n 500 -k -m grep -H {search-pattern} {}
(jobs и search-pattern не заключены в фигурные скобки; они указывают переменную, которую необходимо ввести)