i have xml file structure xmllint:
<entities> <name>john</name> </entities> <entities> <name>david</name> </entities> now transform file in like:
<?xml version="1.0" encoding="utf-8"?> <data> <entities> <name>john</name> </entities> <entities> <name>david</name> </entities> </data> how can sed? tried this
sed -e '1i\<?xml version="1.0" encoding="utf-8"?><data>' test.xml > test1.xml but still lack </data>. idea enclose text test.xml header , main tag called <data></data>
sed -e '1i\<?xml version="1.0" encoding="utf-8"?><data>' -e '$a\</data>' test.xml > test1.xml the main trick here put $a\</data> behind -e flag of own isn't interpreted more raw text insert before first line.
that give valid xml. precise output in question, use
sed -e '1i\<?xml version="1.0" encoding="utf-8"?>' -e '1i\<data>' -e '$a\</data>' -e 's/^/ /' or so. if me, though, i'd use sed make data valid xml , work xml tools there (i.e., use first snippet , pipe through xmllint indentation). handling structured data sed brittle, don't want longer have to.
Comments
Post a Comment