在bash中解析apache tomcat server.xml

时间:2014-03-14 05:33:35

标签: xml bash parsing

我想使用linux命令解析servers.xml中的值模式。

条件

  1. 变量模式必须有效,这意味着它不应该在注释中

    <!--- comments  -->
    
  2. 如果变量在注释中,则解析器不应返回任何内容。

  3. PFB xml

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
    prefix="localhost_access_log." suffix=".txt"
    pattern="%h %t %m %U %q %s %b %D %{X-Forwarded-For}i " />
    

2 个答案:

答案 0 :(得分:0)

试试这个。

cat server.xml | sed '/<!--.*-->/d'| sed '/<!--/,/-->/d' | awk '/pattern/ {print $2}' FS='"'

首先,我们删除评论,然后查找pattern的值。

答案 1 :(得分:0)

民间。

请试试这个

这对我有用

xmlstarlet el -v server.xml | grep -w @pattern  | awk -F'=' '{print $(NF)}'  | sed 's/]//g