sed &echo学习

提示:sed修改文件通常被认为是比较危险的操作,请慎用。

 

案例1:

  .sh脚本修改某配置文件xx.config,

  xx.config内容包含:

[DEFAULT]
Description=XXX

[Service]
Type=forking
PIDFile=/run/newpid/newpid.pid

[Install]
WantedBy=xxx

  期望修改后的结果:

[DEFAULT]
Description=XXX

[Service]
Type=forking
PIDFile=/var/log/newpid/newpid.pid

[Install]
WantedBy=xxx

  需要修改[Service]段的PIDFile

  .sh脚本:

sed -i -e "/\[Service\]/,/^\[/{s/[#,\ ]*PIDFile[\ ]*=.*/PIDFile=\/var\/log\/newpid\/newpid.pid/};" ~/../xxx.config

  包含一下要点:

  1. 匹配[Service]段;
  2. 匹配PIDFile字段;
  3. 替换新的值,在路径值包含的“/”用“\/”转义

 

案例2:创建并写入文件内容

  echo:

#!/bin/sh

O_SID=goooooo
#  创建init.ora
echo > init.ora
echo "#Database Identification" >> init.ora
echo "db_domain=\"\"" >> init.ora
echo "db_name=${O_SID}" >> init.ora
echo >> init.ora
echo >> init.ora

  

posted @ 2016-05-13 14:33  zou1  阅读(793)  评论(0)    收藏  举报