我有幾個tomcat服務器,我想通過一些bash腳本動態管理context.xml文件,我想通過使用sed
來刪除資源。我知道怎麼做,但該文件的格式如下圖所示在幾個服務器的可讀性起見,我想,我不能確定的資源與此直接刪除:在樹狀行之間的sed刪除
sed '/PATTERN-1/,/PATTERN-2/d' context.xml
但在模式1我需要獲得第二行來將部分name屬性替換爲bash腳本變量。我試了幾種方法作爲逃避\ S或\ n
<Context>
...
<Resource
name="jdbc/EmployeeDB" auth="Container"
type="javax.sql.DataSource"
description="Employees Database for HR Applications"
/>
<Resource
name="jdbc/SportDB" auth="Container"
type="javax.sql.DataSource"
description="Sport Database for HR Applications"
/>
<Resource
name="jdbc/BackupDB" auth="Container"
type="javax.sql.DataSource"
description="Backup Database for HR Applications"
/>
...
</Context>
我建議使用XML/HTML解析器(xmlstarlet,xmllint ...)。 – Cyrus