2014-12-05 76 views
2

我試圖在我的nginx.conf文件中設置一些數值。 我從我的Dockerfile中的RUN命令調用sed。使用sed更改conf文件

具體來說,我想改變目前的是:

worker_processes 4; 

要:

worker_processes 1; 

正則表達式是強大的,但$ *(&(* Y很難發揮作用

我發現這一點,它的工作原理。

sed -i '/access_log/s|/[^;]\+|/dev/stdout|' /etc/nginx/nginx.conf 

但修改爲此,它不。

sed -i '/worker_processes/s|/[^;]\+|1|' /etc/nginx/nginx.conf 

如果有人可以解釋表達的是如何工作的第一次,而不是第二,如何使它工作,那簡直太好了。

回答

3

這對我來說是最後的工作。

sed -i 's/^worker_processes.*/worker_processes 1;/' /etc/nginx/nginx.conf