我有changelog_master.xml,如下所示:
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd">
<include file="changelog/version/changelog_1.0.xml"/>
</databaseChangeLog>
我想在我的文件的close标签上方插入文字,如下所示
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd">
<include file="changelog/version/changelog_1.0.xml"/>
<include file="changelog/version/changelog_1.1.xml"/>
</databaseChangeLog>
我尝试使用这样的sed,因为我需要在Jenkinsfile中编写它以实现自动化
sh "sed -i '/<\/databaseChangelog>/i <include file=\"changelog/version/changelog_${version}.xml\"/>' changelog/changelog_master.xml"
但它没有用。我也尝试了很多相关的问题。
我现在该怎么办?
谢谢!
答案 0 :(得分:0)
sed也有效,这是我的版本(你的匹配模板中有拼写错误)
$ sed -i "/<\/databaseChangeLog>/i\<include file=\"changelog/version/changelog_${version}.xml\"/>" changelog/changelog_master.xml