解決SEE的評論如下Java exec grep | Linux的失敗
好吧,這是一個棘手:
我從Java調用這個命令Process.exec()
:
grep -ne 'xxx\|yyy' file
它只返回xxx
?
編輯︰我逃脫\
與\\
在java中。
但是,當我在同一臺機器上從命令行調用完全相同的命令時,它會按預期返回xxx
和yyy
!?
我已經嘗試了一切,逃逸多和少用-E
,改變'
到"
(事實上,奇怪的是,當您從Java運行要麼不工作)?
有人跑到完全相同的奇怪問題?
你可以試試這個命令:'grep -ne'xxx \\ | yyy'file'或者'grep -n -e'xxx'-e'yyy'file'? – anubhava 2013-03-20 19:50:35
當然,我在\ java代碼中\ \另外\ \這一切都無法工作。 – user951335 2013-03-20 19:59:10
如果'|'必須在命令行上轉義,則可能必須在Java字符串中使用3或4個'\'字符! – jahroy 2013-03-20 20:06:33