首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

装配部署脚本中:sed用法记录

2012-09-04 
安装部署脚本中:sed用法记录在linux系统上,sed的查找、替换、删除功能有着强大的实用性:安装应用程序时,输入

安装部署脚本中:sed用法记录

在linux系统上,sed的查找、替换、删除功能有着强大的实用性:

    安装应用程序时,输入某些参数替换默认参数。启动应用程序时,读取配置文件中的变量。删除某些文件中的空行或者删除脚本中"#"开始的注释行。

1. 输入参数,替换配置文件中的默认参数

eg.? 在log4j配置文件log4j.properties中:

log4j.appender.FileApp=org.apache.log4j.RollingFileAppender
log4j.appender.FileApp.File=/tmp/log/app.log
log4j.appender.FileApp.MaxFileSize=20MB
log4j.appender.FileApp.MaxBackupIndex=10
log4j.appender.FileApp.layout=org.apache.log4j.PatternLayout
log4j.appender.FileApp.layout.ConversionPattern=%d{ISO8601} %r [%t] %-5p %c{1} - %m%n

默认文件输出路径为/tmp/log/app.log,用户安装的时候可以指定一个其他文件路径的脚本:

read input
sed -i "s/log4j.appender.FileApp.File=.*/log4j.appender.FileApp.File=$input/g" log4j.properties

?

2. shell读取配置文件参数

eg. 在Spring的配置文件applicationContext.properties中:

## MySQL DB part
mysql.db.user=root
mysql.db.password=password
mysql.db.schema=test

读取MySQL用户名、密码等的脚本:

ConfigFile=applicationContext.properties
UserLine=`sed -n "/mysql.db.user/p" $ConfigFile`
User=`echo ${UserLine#*=}`
echo $User? #输出结果root

?

3. 删除applicationContext.properties中#开始的行:

sed -i "/^#/"d? applicationContext.properties

?

?

热点排行