2014-03-14 19 views
0

我想使用linux命令從servers.xml解析值模式。在bash中解析apache tomcat serverl.xml

條件

  1. 可變模式必須是有效的含義不應該是內部評價

    <!--- comments --> 
    
  2. 如果變量的註釋中,解析器不應該返回任何東西。

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 " /> 
+0

這是不明確的問題... – MLSC

+0

爲什麼don'y使用Python解析XML文件? – MLSC

+0

mortezaL ::你可以幫助我在python上面的任務.. – user2875330

回答

0

試試這一個。

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

首先,我們刪除評論,然後我們查找pattern的值。

0

民間。

請試試這個

這爲我工作

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