簡體   English   中英

使用Java ProcessBuildr運行多個Unix命令

[英]Running multiple unix command using Java ProcessBuildr

我正在使用ProcessBuilder運行以下Unix命令,並且工作正常。

String[] commands = {"egrep","search string","fileName"} ProcessBuilder pb =...

現在,我還有其他要求來過濾輸出。

String [] commands = {"egrep","search string","fileName","|","awk\\'$0 >\\"time\\" && $2==\\"INFO\\"\\'"}

我收到錯誤“ IO異常:無此類文件錯誤”。 似乎正在考慮使用pipe(|)和其他awk命令作為文件。

我還嘗試添加前綴“ bash -c”或“ / bin / sh -c”,例如

String [] commands = {"bash","-c","egrep","search string","fileName","|","awk\'$0 >\"time\" && $2==\"INFO\"\'"}

現在,我收到錯誤消息“ bash -c line0:意外標記'is'bash附近的語法錯誤:-c line0:”

我也嘗試用單個字符串給出整個egrep命令,但是它也沒有用。

請告知我使用管道過濾輸出時缺少的錯誤。

在不考慮您建議的egrep / awk命令行是否可行的情況下-我不確定這是否是您的意圖-考慮將完整的命令行作為bash的-c選項的單個參數,因此,您只需要三個字符串即可ProcessBuilder的構建。 有關更多信息,請參見SO問題3776195

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM