2014-12-27 2 views
0

Мне нужно получить результат команды split bash для создания файла exec в php.php, любой способ получить результат из команды split bash

Пример:

мой файл: 1

моя команда Баш:

split 1 -l 10 test -a 4 

сейчас я получаю файл больше примеров, как:

testaaaa, testaaab, testaaac,

Мне нужен результат, потому что с этим В результате мне нужно построить файл, чтобы он выглядел так:

php file.php testaaaa ; 
php file.php testaaab ; 
php file.php testaaac ; 
... 

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

ответ

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

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

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

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

0

Я думаю exec функция PHP может сделать трюк:

$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'? – teeyo

+1

Я уже разрешаю проблему (см. Решение) –

Смежные вопросы