我想用sed或perl替换Tomcat配置文件中的密码。在regexr.com上使用我的模式可以正常工作,但不能在我的shell上使用。我找不到问题。应该用PASSWORD_REMOVED代替123456:
$ perl -p -e 's/(.*assword.*\nvalue=)(.*)/$1"PASSWORD_REMOVED"/g' bla
<Environment
name="web.service.techPasswordXXX"
value="123456"
type="java.lang.String"
</Environment>
与sed相同:
$ sed -e 's/\(.*assword.*\nvalue=\)\(.*\)/\1"PASSWORD_REMOVED"/' bla
<Environment
name="web.service.techPasswordXXX"
value="123456"
type="java.lang.String"
</Environment>
模式可在regexr.com上使用:https://regexr.com/4dh6d