通过shell脚本替换属性文件中的某行记录
假设有如下属性文件 demo.properties
user.name=test
user.password=123456
...............................
需求:先需要通过shell 脚本将 user.name 和 user.password 的value值替换为实际需要的用户名和密码,
将可以通过如下方式实现:
sed -i "s#^user.name=.*#user.name=用户名#g" path/demo.properties
sed -i "s#^user.password=.*#user.password=密码#g" path/demo.properties
这样demo属性文件中的内容即被替换掉了。
将上述sed两行放入.sh脚本中后,执行的时候却报错 ,参考如下链接
http://stackoverflow.com/questions/7648328/getting-sed-error
在-i后面加个“” ,即可,完整的脚本内容如下:
#!/bin/sh sed -i "" "s#^user.name=.*#user.name=admin#g" demo.properties sed -i "" "s#^user.password=.*#user.password=000000#g" demo.properties
demo.properties是要修改的properties文件,由于该文件和脚本在同一目录下,所以此处直接写名称即可,若不在同一目录下,需要写完整的目录
参考地址:http://blog.csdn.net/wangmuming/article/details/19605281