2015-06-09 145 views
2

是否有一種方法可以同時運行多個命令,但在兩者都完成之前無法繼續運行?我一直在嘗試對以下內容使用類似的說明,但都需要很長時間才能完成,如果我可以同時運行它們會更好(不能使用&在後臺運行它,因爲下一步需要所有輸出文件)Bash-同時運行多個命令

sed -i 's/x/y/' file1 
grep 'pattern' file2 > file3 
+0

'(command)'。這會啓動一個子shell。它是多處理的。那麼你可以在兩個pid上調用'wait'。查看完整的文檔:http://tldp.org/LDP/abs/html/index.html。 – HuStmpHrrr

+2

您可以使用&並等待 – 123

回答

1

不完全的答案,但生成文件的幾行會做你想做

file1: 
    sed -i 's/x/y' <someinput 

file3: file2 
    grep 'pattern' file2 > file3 

nextop: file1 file3 
    whatever you want to do next 

什麼,讓-j使任務並行執行時可能

2

這可能是你想要的:

sed -i 's/x/y/' file1 & 
grep 'pattern' file2 > file3 & 
wait