sed替换properties文件的值

oracle9.properties文件内容如下, 想要将user.name的值dsnew修改成QACDC

jdbc.driver=oracle.jdbc.OracleDriver
jdbc.url=jdbc:oracle:thin:@qa104:1521:QADB
user.name=dsnew
user.pass=dsnew
create.db=true
create.sql=tables.oracle9.sql
update.sql=tables.oracle9.sql.updates
insert.sql=../../config/data.sql.default
block.processing=true
block.begin=begin
block.end=end
block.terminator=/
newline.override=\n


[qa@qa52 db]$ sed -i 's/^user\.name.*/user\.name=QACDC/g' oracle9.properties   
[qa@qa52 db]$ cat oracle9.properties
jdbc.driver=oracle.jdbc.OracleDriver
jdbc.url=jdbc:oracle:thin:@qa104:1521:QADB
user.name=QACDC
user.pass=dsnew
create.db=true
create.sql=tables.oracle9.sql
update.sql=tables.oracle9.sql.updates
insert.sql=../../config/data.sql.default
block.processing=true
block.begin=begin
block.end=end
block.terminator=/
newline.override=\n


-i    #代表保存修改
^     #^user.name代表以user.name开头的行
注意
   user.name中的"." 在正则表达式中有匹配除换行符以外的任意字符的意思,要用"\"来转义, 故写成^user\.name
.*    #在正则表达式中表示匹配任意文本

More info, refer to http://deerchao.net/tutorials/regex/regex.htm

猜你喜欢

转载自mxy0521.iteye.com/blog/1163671
今日推荐