Всем, здравствуйте!
В php я ни бум-бум и столкнулся с такой проблемой:
Нужен скрипт который будет обрабатывать файлы *.txt (файлы в utf-8) в папке со cкриптом (таких файлов штук 500). В файлах посторочно записаны запросы пользователей с частотностью (запрос:частотность). Количество строк в каждом файле около 100000. Нужно объединить файлы в один новый, соответственно находя дубликаты запросов во всех файлах и суммируя частотность. В выходном файле удалить все строки запросов с частотностью =1 и отсортировать по убыванию частотности. Ограничить потребление оперативной памяти на 125мб. Время выполнения скрипта роли не играет.
Пример данных в файле:
сталинград:241
реальные пацаны:199
фильмы:197
одинокий рейнджер:179
элизиум:168
pedo:145
интерны:136
карпов 2 сезон:134
porno:134
дурная кровь:132
риддик:115
музыка:112
фильмы 2013:111
околофутбола:108
кино:107
ххх:104
мы миллеры:103
человек из стали:103
маша и медведь:102
1) ограничить выделение памяти
2) создать новый файл temp.dat в директории со скриптом
3) ---- начало цикла ----
4) открыть рандомный .txt файл из директории и скопировать даннные из него в память
5) удалить файл из которого копировали данные
6) взять первую строку (фраза:частотность) из памяти и создать массив
7) искать точное совпадение "фраза" во всех остальных .txt файлах и при нахождении взять "частотность" и прибавить к начальной частотности
8) удалить из файлов строку с точным вхождением "фраза"
9) когда строки в памяти закончатся дописать данные в temp.dat --- конец цикла ---
10) когда файлы закончатся exit
Вроде бы не сложно... возможно кому-то на 5 минут и 10 строк...
Буду очень благодарен если поможете! Может у кого-то есть уже готовый подходящий скрипт.