хочу определенные совпадения искать по лог файлам, их очень много и у всех разные имена расширение .txt все логи писались в строку как открыть все файлы с расширением txt, провести по ним поиск на совпадения в строках и вывести все строки с совпадениями ? мой вариант работает только с одним файлом PHP: <?php $searchthis = "user"; $matches = array(); $handle = @fopen("log2015-08-04-02-13-18.txt", "r"); if ($handle) { while (!feof($handle)) { $buffer = fgets($handle); if(strpos($buffer, $searchthis) !== FALSE) $matches[] = $buffer; } fclose($handle); } print_r($matches);?>
PHP: $searchthis = "user";$matches = array();$dir = 'logs/';foreach(glob($dir . '*.txt') as $filename) { $handle = @fopen($filename, "r"); if ($handle) { while (!feof($handle)) { $buffer = fgets($handle); if(strpos($buffer, $searchthis) !== FALSE) $matches[] = $filename . ': ' . $buffer; } fclose($handle); }}print_r($matches);
Извиняюсь за быдлокодинг, за минуту накидал. На питоне как-то так. Code: import os search = "phrase" for fl in os.listdir("./"): if fl[-4:] == ".txt": for line in open(fl,"r"): if search in line: print(line)