php, любой способ получить результат от команды split bash

0

Мне нужно получить результат команды 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 ;
...

любой способ сделать это?

Теги:

3 ответа

0
Лучший ответ

РЕШЕНИЕ:

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);
0

Я думаю, что функция 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
  • 0
    я уже пробовал это, не работает.
  • 0
    Вы пытались перенаправить вывод команды в файл, а затем прочитать содержимое этого файла с помощью file_get_contents ?
Показать ещё 4 комментария
0

Если вы знаете, какой префикс разделенных имен файлов будет (в $prefix), вы можете получить список всех из них, используя:

# 4 = suffix length, change this if you change -a argument to split
$pattern = $prefix . str_repeat("?", 4); 
$files = glob($pattern);

$files будет установлен в массив, содержащий все совпадающие имена файлов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню