我需要用新值替换几个变量:
'database' => 'booDB',
'username' => 'booUR',
'password' => 'booPASS',
因此,在第一次匹配后替换所有内容,例如,'database' =>
就可以了。遵循Sed or Grep to replace until end of line after pattern match的建议并使用:
sed -r 's/('database' => ').*/\1test/' $SETTINGS;
没用。
预期结果:
'database' => 'newDB',
'username' => 'newUR',
'password' => 'newPASS',
答案 0 :(得分:0)
好的,终于想通了。以下行按预期工作:
sed -i "s/^\( *'password' => '\)[^\,]*/\1"new-pass"'/" $SETTINGS