ДоХтор, а программы для этого дела ни кто не знает?
# aNNiPAk (08.01.2016 / 01:08)
ДоХтор, а программы для этого дела ни кто не знает?
Нет наверное таких программ. Если гугл ничего не выдал, то искать практически бесполезно.
А sed'ом или awk? Зачем программу городить, если это 4 команды в консоли
aNNiPAk, а можешь скинуть хотя бы один файл, из которого надо вынуть текст? И ещё по 4-му пункту есть вопрос - что именно нужно вытащить из файла? То есть, это должно быть извлечено ^_0-9 или обрезано? Может напишешь пример символов, которые надо вытащить? (например: сохранить надо цифры и латиницу, или т.п.)
aNNiPAk, как то так
<?php
$dir = 'dir';
$resultfile = new SplFileObject('result.txt', 'w');
$fileSPLObjects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::CHILD_FIRST);
foreach($fileSPLObjects as $fullFileName => $fileSPLObject ) {
if ($fileSPLObject->isFile()) {
$info = new SplFileInfo($fullFileName);
if ($info->getExtension() == 'txt') {
$content = file_get_contents($fullFileName);
$patterns = array(
'#dynasty = "(.*)"#iU',
'#name = "(.*)"#iU',
'#leader = "(.*)"#iU',
'#capital = "(.*)"#iU',
);
$resultfile->fwrite(' - ' . basename($fullFileName) . ' - ' . PHP_EOL); // эта строка в результат добавляет имя файла
foreach($patterns as $pattern) {
preg_match($pattern, $content, $matches);
empty($matches[0]) ?: $resultfile->fwrite($matches[0] . PHP_EOL);
}
unset($content);
}
}
}
ложим в файл код и рядом папку, называем папку dir и запускаем код
работает с любой вложенностью папкок, даже если файл на глубене 100 папок
aNNiPAk, правда наверное придется лимит выполнения скрипта отключить, так как файлов много, ну и подождать пока скрипт завершит работу
aNNiPAk, попробуй на 10 файлах
# Gaucer (08.01.2016 / 01:32)
А sed'ом или awk? Зачем программу городить, если это 4 команды в консоли
кстати набросай консольный вариант, с sed