[英]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.