`
bdk82924
  • 浏览: 552368 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Shell 文件操作 第二季 ...

 
阅读更多

主要介绍shell对文件的 操作

1、替换文件内容

2、xml文件 的操作

 

1、替换文件内容

 参考:http://www.cnblogs.com/88999660/articles/1581524.html vi命令大全

          http://www.cnblogs.com/edwardlost/archive/2010/09/17/1829145.html  sed 命令详解

vi命令 ---- :%s/string1/string2/g 在整个文件中替换“string1”成“string2”。

 

 cat >s1
i love ${chinaaaa}
i love ${chinaaaa}
i love ${chinaaaa}
i love ${chinaaaa}
i love ${chinaaaa}
sed "s/\${chinaaaa}/china/g" "s1" | sed 's/|/\//g' > "s2"

vi s2
i love china
i love china
i love china
i love china
i love china

 

2、修改xml文件

 参考:http://bbs.weiphone.com/read-htm-tid-1137089.html 

 

cat >a.xml
<?xml version="1.0" encoding="UTF-8" ?>
<config>
<id>124578</id>
<name>test_name</name>
</config>


cat >apend.sh
 
    filename=$1
    string=$2
    cpath=.
   
    num=$(cat -n $cpath/$filename | sed -n '/<config>/p' | sed -n '$p' | awk '{print $1}')
    sed -i ''$num' a\ '"$string"'' $cpath/$filename
    [ $? -ne 0 ] && echo "Fail ....." || echo "Success ..."
 
 
 
#增加一个节点内容

 cat a.xml | grep "<attr>adsadas</attr>"

if [ $? -eq 0 ]
    then

#存在

echo "attr Exsit ...."
else

#不存在

append "a.xml"  '<attr>adsadas</attr>'

fi


#获取xml的 节点内容
cat a.xml |grep "<id>" | sed 's/.*<.*>\([^<].*\)<.*>.*/\1/'

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics