PDA

Просмотр полной версии : пиоск по всем файлам в папке


dondy
05.08.2015, 17:21
хочу определенные совпадения искать по лог файлам, их очень много и у всех разные имена

расширение .txt

все логи писались в строку

как открыть все файлы с расширением txt, провести по ним поиск на совпадения в строках и вывести все строки с совпадениями ?

мой вариант работает только с одним файлом

binarymaster
05.08.2015, 17:55
↑ (https://antichat.live/posts/3876703/)
как открыть все файлы с расширением txt, провести по ним поиск на совпадения в строках и вывести все строки с совпадениями ?
мой вариант работает только с одним файлом




$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) !==FAL SE)$matches[] =$filename.': '.$buffer;
}
fclose($handle);
}
}
print_r($matches);

dondy
05.08.2015, 18:01
binarymaster (https://antichat.live/members/148032/), Большое Спасибо !

Sagittarius
05.08.2015, 19:44
Извиняюсь за быдлокодинг, за минуту накидал. На питоне как-то так.


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)