sed 修改xml键值对

     我们在工作中少不了与xml接触,有时需要修改xml中的属性值,如果xml文件比较冗长且需要修改的东西较多,那么手动修改就是件麻烦事。可以尝试使用sed命令来替我们做这件事。

   test.xml的内容如下:

   

   

   假设我们要把id为AA的记录的name修改为c2 , 使用如下的命令

   sed -i -E 's/id="AA"\s+name="[^"]+"/id="AA" name="c2"/' test.xml


   把这条命令写入脚本:

  1 sed-E.sh

   #!/bin/sh
   echo "input file is $1"

   if [ $# -eq 1 ]; then
        sed -E 's/id="AA"\s+name="[^"]+"/id="AA" name="c2"/' $1 
   else
        echo "parameter is error"

   fi

   cat $1


  2 sed-i-E.sh

  #!/bin/sh
   echo "input file is $1"

   if [ $# -eq 1 ]; then
        sed -i -E 's/id="AA"\s+name="[^"]+"/id="AA" name="c2"/' $1 
   else
        echo "parameter is error"

   fi

   cat $1


  3 recover.sh

  #!/bin/sh
   echo "input file is $1"

   if [ $# -eq 1 ]; then
        sed -i -E 's/id="AA"\s+name="[^"]+"/id="AA" name="c1"/' $1 
   else
        echo "parameter is error"

   fi

   cat $1

你可能感兴趣的:(sed 修改xml键值对)