我目前正在为一个项目部署一个新的webapp(gem)。更新用户数据时,它没有正确搜索字符串并在apache的workers.properties文件中替换它。我正在使用的当前脚本是:
sed -i "s/worker.list\=GMA,jkstatus/worker.list\=GMA,ETL,common-resource,GAA,authzmanager,Launch,jkstatus/g" ${INSTALL_BASE}/${APACHE_DIR}/conf/jk/workers.properties
需要在workers.properties中更改的当前代码行如下: worker.list=GMA,ETL,common-resource,GAA,authzmanager,Launch,jkstatus
我试图做出的改变是: worker.list=GMA,ETL,common-resource,GAA,GEM,authzmanager,Launch,jkstatus
搜索中有什么不对的地方吗?它正在更改文件中的其他内容,因此它肯定能够访问workers.properties。在此方面的任何帮助都将不胜感激。
编辑:我已经确认它不喜欢gma之间的逗号,jkstatus表示从gma开始到jkstatus结束:
=gma,jkstatus/那么我如何告诉sed停止jkstatus而不是使用逗号?
1条答案
按热度按时间bjg7j2ky1#
您可以在之后匹配任何文本
worker.list=
使用worker\.list=.*
:若要仅删除文件中的第一个匹配项,请使用
注
0,/pattern/
将仅删除文件中的第一个匹配项。