Приложение. Я хочу опубликовать веб-приложение, которое принимает входные строки, ищет строку примерно в 5000 текстовых файлов и возвращает имена файлов с совпадениями. Каждый текстовый файл весит около 4 МБ (без сжатия).
Проблема. В PHP я мог бы использовать exec(grep -l pattern dir/* )
и выполнить работу. Однако из соображений стоимости я бы выбрал общий план веб-хостинга, который обычно не позволяет запускать программы.
Не могли бы вы предложить альтернативу grep для веб-среды?
Я понял следующее до сих пор:
Двоичный программный файл для любой альтернативы grep (например, sift) может работать. Однако проблема выполнения на общем сервере останется.
PHP-функция
preg_match
неуместна, учитывая большое количество файлов и их размер.
Я открыт для реализации grep-подобной функции на других языках (например, perl или javascript). Однако я не уверен, что производительность будет сравнима с grep и останется ли проблема с выполнением.
Я пробовал искать разных провайдеров веб-хостинга и понял, что решением может быть виртуальный частный сервер (VPS). Однако цена VPS-плана у всех хостинг-провайдеров, с которыми я сталкивался, недоступна.
Любые решения или рекомендации для этой проблемы?