我想在xml文件的开头添加注释。因为任何xml文件的第一行总是必须像<?xml version="1.0" encoding="UTF-8"?>
我的评论必须在那之后。
这是我得到的:
sed '/<\?xml.*\?>/a \<!-- comment -->' test.xml
这几乎可行,但评论也会在
之类的行之后添加 <package xmlns="http://www.idpf.org/2007/opf" unique-identifier="uuid_id">
所以我的命令似乎有误。你能救我吗?
答案 0 :(得分:1)
您的基本假设:
因为任何xml文件的第一行总是必须像
<?xml version="1.0" encoding="UTF-8"?>
非常错误。 XML声明可以与此示例不同,也可以完全省略。并且不必跟随换行符。
使用像sed这样的非XML知识工具对XML进行任何操作都是一个坏主意,只是因为它不考虑字符编码。
答案 1 :(得分:0)
知道了:
sed '/<?xml .*?>/a \<!-- comment -->' test.xml
(问号前没有反斜杠)