Оптимизируйте поиск в файле с помощью bash и Stack Overflow

Я работаю над сценарием, который извлекает файл, который содержит слишком много данных (1 миллион строк), и для каждой строки я должен искать файл, который слишком большой (7 Go).

Вот что я попробовал:

$fichier_src = fopen($fichier_src_path, 'r');
if ($fichier_src) {
$result = fgetcsv($fichier_src, 1000 , ";"); // for skip the first line
while ( ($result = fgetcsv($fichier_src, 1000 , ";")) !== FALSE) {
if( isset($result[0]) && $result[0] != ''){
$search = $result[0];
shell_exec(" LC_ALL=C fgrep -A 5 -B 5 '$search' $fichier_search | LC_ALL=C fgrep -A 5 -B 5 '$critere'  >> $fichier_tmp ");
$fichier_search_tmp = fopen($fichier_tmp, "r") or die("impossible d\'ouvrir le fichier");
if ($fichier_search_tmp) {
while (!feof($fichier_search_tmp)) {
$s_result = fgets($fichier_search_tmp, 4096);
if( $s_result == $search ){
echo "search : $search - s_result : $s_result \n ";
break;
}
}
fclose($fichier_search_tmp);
unlink($fichier_tmp);// delete the file
}
}
}

fclose($fichier_src);
}

Я старался изо всех сил, чтобы сделать это быстрее, но это заняло слишком много времени.

Плз любые предложения !!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector