使用sed或regex在匹配后替换行

时间:2016-10-21 10:58:34

标签: regex sed

我需要用新值替换几个变量:

  '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',

1 个答案:

答案 0 :(得分:0)

好的,终于想通了。以下行按预期工作:

sed -i "s/^\( *'password' => '\)[^\,]*/\1"new-pass"'/" $SETTINGS