Я не очень хорошо разбираюсь, поэтому мне нужна рука.Bash анализирует данные из xml
У меня есть следующий вывод, что я хочу, чтобы разобрать данные:
Фактический выход:
<connection-pool name="name1" max-connections="50" min-connections="5">
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource" user="user1" password="xxxx" url="jdbc:oracle:thin:@server1.domain.com:1550:name1" commit-record-table-name="">
<connection-pool name="name2" max-connections="50" min-connections="5">
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource" user="user2" password="xxxx" url="jdbc:oracle:thin:@server2.domain.com:1524:name2" commit-record-table-name="">
<connection-pool name="name3" max-connections="15" min-connections="5">
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource" user="user3" password="xxxx" url="jdbc:oracle:thin:@server3.domain.com:1528:name3" commit-record-table-name="">
<connection-pool name="name4" initial-limit="1" max-connections="10" min-connections="1" num-cached-statements="5">
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource" user="user4" password="xxxx" url="jdbc:oracle:thin:@server4.domain.com:1538:name4" commit-record-table-name=""/>
<connection-pool name="name5" initial-limit="1" max-connections="10" min-connections="1" num-cached-statements="5">
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource" user="user5" password="xxxx" url="jdbc:oracle:thin:@//server5.domain.com:1537/name5"/>
Желаемая Выход:
name="name1" max-connections="50" min-connections="5" url="jdbc:oracle:thin:@server1.domain.com:1550:name1"
name="name2" max-connections="50" min-connections="5" url="jdbc:oracle:thin:@server2.domain.com:1524:name2"
name="name3" max-connections="15" min-connections="5" url="jdbc:oracle:thin:@server3.domain.com:1528:name3"
name="name4" max-connections="10" min-connections="1" url="jdbc:oracle:thin:@server4.domain.com:1538:name4"
name="name5" max-connections="10" min-connections="1" url="jdbc:oracle:thin:@//server5.domain.com:1537/name5"
Я был бы признателен, если кто-то может мне помочь это, кстати, это должно быть сделано в bash, так как я не могу установить программное обеспечение на всех производственных серверах.
спасибо заранее!
ли ваши производственные серверы ** действительно ** уже не поставляются с Python, или любой другой язык с XML поддержка в стандартной библиотеке? Анализ XML с помощью bash требует сторонних инструментов - xmlstarlet, xmllint и т. Д. –
Взгляните на этот ответ: http://stackoverflow.com/a/13463365/1050015 – Carlo
@ Карло, учитывая, что использует сторонний инструмент, и вопрос указывает, что «я не могу установить программное обеспечение на производственных серверах» ... –