Мне нужно получить результат команды split bash для сборки файла exec в php.
Пример:
мой файл: 1
моя команда bash:
split 1 -l 10 test -a 4
прямо сейчас я получаю больше файлов примеров:
testaaaa, testaaab, testaaac,
Мне нужен результат, потому что с этим результатом мне нужно построить файл, чтобы выглядеть так:
php file.php testaaaa ;
php file.php testaaab ;
php file.php testaaac ;
...
любой способ сделать это?
РЕШЕНИЕ:
echo "[+] Start spliting...\n";
exec("split 1 -l 800 split -a 4");
exec("ls | grep split", $op);
exec("rm -rf mass");
$file = fopen('mass', 'a');
foreach(array_values($op) as $line) {
fwrite($file, 'php crawler ' . $line . ' ; ' . PHP_EOL);
}
fclose($file);
Я думаю, что функция php exec
может сделать трюк:
$output = exec('split 1 -l 10 test -a 4');
// then do whatever you like with the result of the command presented in $output
Если вы знаете, какой префикс разделенных имен файлов будет (в $prefix
), вы можете получить список всех из них, используя:
# 4 = suffix length, change this if you change -a argument to split
$pattern = $prefix . str_repeat("?", 4);
$files = glob($pattern);
$files
будет установлен в массив, содержащий все совпадающие имена файлов.
file_get_contents
?