Ich habe changelog_master.xml wie folgt:Wie schreibe ich Text über das Schließen-Tag meiner XML-Datei mit sed (Jenkinsfile)?
<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>
I Text über dem nahe Tag meiner Datei
<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>
wie diese einfügen möchte ich durch Verwendung sed wie dies versucht haben, weil ich brauche um es in Jenkinsfile für Automatisierung zu schreiben
sh "sed -i '/<\/databaseChangelog>/i <include file=\"changelog/version/changelog_${version}.xml\"/>' changelog/changelog_master.xml"
Aber es funktioniert nicht. Ich habe auch viele verwandte Fragen ausprobiert.
Was soll ich jetzt tun?
Danke!
Wie ist es "funktioniert nicht"? Was sind deine Ergebnisse? –
Erhalten diff_Jenkinsfile von git [email protected]: FINIZ-Repo/FINIZ-Liquibase.git org.codehouse.groovy.control.MultipleCompilationErrorsException: Start fehlgeschlagen: WorkflowScript: 25: Unerwartetes Zeichen: '\' @ Linie 25, Spalte 19. sh "sed -i '/ <\/databaseChange-log>/i ' changelog/changelog_master.xml" –
Ich schlage vor Verwenden Sie einen XML/HTML-Parser (xmlstarlet, xmllint ...). – Cyrus