2011-11-22 99 views
1

在PHP中,我使用proc_open()通過stdin傳遞sed()請求。sed:-i不能與stdin一起使用

然而

sed -i -e 's/USE `.*`;//' 

結果:

的sed:-i可能無法與標準輸入

當我運行在殼它的工作原理確定相同的命令使用。

任何接受者?找不到任何答案。

請注意,使用sed -i的原因是因爲有問題的文件是大文件(1 GB)。

+1

您如何建議編輯標準輸入? – tobyodavies

+0

不確定。我想知道什麼是解決此問題的最佳方法。 – user1059595

回答

3

-i標誌表示sed打開文件,修改它們,然後保存它們。

既然你不能保存標準輸入,-i標誌沒有意義使用標準輸入。

爲了使它做一些有意義的事情,要麼在命令行上提供文件(這將修改文件)或刪除-i標誌,修改後的輸入將打印到標準輸出。

+0

sed -i被指示更新大小爲1 GB的文件。你會推薦做什麼呢?很明顯,將輸出打印到標準輸出並不是一個真正的選擇。 – user1059595

+0

然後顯然剩下的選項是'sed -i pattern filename' – tobyodavies

相關問題