使用shell脚本格式化xml文件输出
xml文件内容
test.xml 文件
要求输出的内容:
name=console
class=org.apache.log4j.ConsoleAppender
shell脚本处理程序 :
checkXml.sh
# 使用方法checkXml.sh ,输出name=console
filepath='/app/install/shell/test.xml'checkXml(){grep -oP "]+$1=\"\K[^\"]+(?=\"\s*[c>])" $filepath
}NAME=`checkXml name`
CLASS=`checkXml class`echo "name=${NAME}"
echo "class=${CLASS}"
执行输出结果 :
[root@shell]# ./checkXml.sh
name=console
class=org.apache.log4j.ConsoleAppender
脚本程序说明:
grep -oP "
-o : 精确匹配,不输出整行,只输出匹配的字符内容
\K:模式使用,(1)\K(?=b) ,如果(1)元组条件达到,则进行匹配输出直到达到(?=b)结束
"
\K之后直到(?=b)的部分,则输出匹配的中间的部分,也就是输出这一部分[^\"]+ ,不以”开始, + 一个或多个字符 。 直到(?=\"\s*[c>])结束 。\" 是引号, \s空白字符 * 使用的0个或多个字符 ,[c>] c或>结尾 。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
