为了在conf文件中找到此行pm.max_children = 50
并将其更改为pm.max_children = 5
,我使用的是:
s/^\(pm.max_children = \).*/\15/
在这种情况下,可以评论或不评论该行(使用';'或'#')。我怎样才能在单个正则表达式中处理它与sed一起使用?
如果CONF_FILE具有以下内容:
pm.max_children = 500
;pm.max_children = 500
#pm.max_children = 500
这就是我需要完成的事情:
pm.max_children = 5
pm.max_children = 5
pm.max_children = 5
答案 0 :(得分:1)
似乎不支持?
,但您可以改为使用*
:
s/^[#;]*[:space:]*\(pm.max_children = \).*/\15/
这匹配0个或更多#
或;
个字符,后跟0个或更多个空白字符。
如果您不关心关键字之前的内容,请使用此选项,这更简单,但匹配任何内容:
s/^.*\(pm.max_children = \).*/\15/