2015-07-20 53 views
2

我想獲得file1和file2中的公共數據。comm命令從file1文件中獲取公共數據2

<?php 
    $cmd="comm -12 <(sort /Source/20-07-2015/file1 | uniq) <(sort /Source/20-07-2015/file2 | uniq) > /20-07-2015/commondata_20072015-248932-ac.csv"; 
    $result =exec($cmd); 
?> 

,但上面的代碼拋出一個錯誤:

sh: -c: line 0: syntax error near unexpected token `(' 
+0

可以嘗試用$結果= EXEC(escapeshellcmd($ CMD) ) – Deepak

+1

'/ bin/sh'不支持進程替換。你需要使用'/ bin/bash'(可能是手動的)。 –

+0

deepak我曾試過這個,但它給通信:額外的操作數'|' 嘗試'comm --help'獲取更多信息。 錯誤 – champs

回答

0

PHP exec()使用shsh不支持<(...)

的簡單的解決辦法(從別人誰知道sh/bash但不是PHP)是有sh援引bash運行命令:

$cmd="bash -c 'comm -12 <(sort /Source/20-07-2015/file1 | uniq) <(sort /Source/20-07-2015/file2 | uniq) > /20-07-2015/commondata_20072015-248932-ac.csv'"; 
相關問題