2012-02-16 3 views
0

Я запускаю следующую команду через shell_exec, но я получаю следующее предупреждение. Команда не выполняется на сервере.shell_exec throwing warning php

$output=shell_exec ("awk -F'\t' '/\[Data\]/{f=1;next} /^$/{f=0} f{gsub(/\t/,",");print}' 1.tsv > 2.csv"); 

Warning: Wrong parameter count for shell_exec() in /Applications/MAMP/htdocs/output/u.php on line 3 

Я попытался использовать систему и passthru, но они приводят к фатальным ошибкам.

Неправильно? Я передаю только один параметр в shell_exec.

+2

Побег внутренние цитаты .. Как это 'F {GSUB (/ \ т/\ " \")' – Cheery

+4

You нужен редактор с подсветкой синтаксиса. – mario

+0

У вас есть двойные кавычки с двойными кавычками '' 'в вашем аргументе, что делает его двумя строками –

ответ

4

Вы забыли, чтобы избежать строки, есть "," в вашем жале:

$output=shell_exec ("awk -F'\t' '/\[Data\]/{f=1;next} /^$/{f=0} f{gsub(/\t/,\",\");print}' 1.tsv > 2.csv"); 
+0

Спасибо .. глупо мне .. Я не мог видеть эту маленькую вещь. Я использую pico в качестве текстового редактора. – Ank