このjdbcファイル行があります
<url>jdbc:oracle:thin:@192.168.1.70:1521:MYDBORA</url>
その部分をキャプチャするには、一種のユーティリティを使用する必要がありますMYDBORA
が、必ずしも同じ名前ではありません。1521:
間の部分が必要です</url>
- 頑張りました
私は対価で何も得られませんでした*私も次のことを試しました。grep 1521 config_file.xml | sed 's/.*://' |grep -o -P '.0,6</url'
わかりました。grep 1521 config_file.xml | cut -d ':' -f 6
MYDBORA<url>
私はデータベースの名前だけが欲しい。常に5文字ではなく、間の1521:
すべてです。<url>
ファイル抽出:
<?xml version="1.0" encoding="UTF-8"?>
<jdbc-data-source xmlns="xmlns.oracle.com/weblogic/jdbc-data-source">
<name>assetmanagement-xa-ds</name>
<jdbc-driver-params>
<url>jdbc:oracle:thin:@192.168.1.70:1521:DB_NAME</url>
<driver-name>oracle.jdbc.xa.client.OracleXADataSource</driver-name>
<properties>
...
ベストアンサー1
これはJDBCであり、XMLファイルを扱っているため、これを使用して、xmlstarlet
スペースやその他の無関係な形式に関係なく、必要な要素を確実に選択できます。
次の例を使用してください。JDBCドキュメント、選ぶ<connection-url/>
のはとても簡単です
xmlstarlet sel -t -v '//connection-url' -n config_file.xml
jdbc:oracle:thin:@%hostname%:%port%:%database sid%
<url/>
あなたの場合は、それに応じて交換する代わりに使用する必要があります<connection-url/>
。その後、最後のコロン(別々のフィールド)を選択できます。
xmlstarlet sel -t -v '//url' -n config_file.xml | awk -F: '{print $NF}'
MYDBORA