cat fxmgr / wrapperwin32.xml | sed'// d'| sed'// d'> cleaned.xml
这将从xml文件中删除注释,但我想用空行替换注释,因为我不想打扰其他代码行号。
例如:
line one
xml comment
xml comment
line four
line one
line four
假设2和3在代码中有xml注释。我们只删除那些行并保持空行。 我无法在此处添加精确的xml评论。所以希望上面的内容澄清它。
评论中提供的真实示例:
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!---Students grades are uploaded by months---->
3 <class_list>
4 <student>
5 <name>Tanmay</name>
6 <grade>A</grade>
7 </student>
8 </class_list>
输出
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <class_list>
4 <student>
5 <name>Tanmay</name>
6 <grade>A</grade>
7 </student>
8 </class_list
目标:用空格替换注释行2的内容(和xml文件中的每个其他注释行类似于第2行)
答案 0 :(得分:1)
要替换根据您的评论具有以下格式的xml文件的注释行:
2 <!---Students grades are uploaded by months---->
您可以使用
sed 's/<!--.*-->/ /g' test.xml
s/
:替换sed的操作(格式&#39; s / oldtext / newtext / g&#39;)
提示:作为新文本,我们只放一个空格。
/g
:用于全局替换所有行。
您可以使用sed -i
将更改应用于同一文件,也可以通过在sed命令的末尾附加>newfile.xml
将输出重定向到另一个文件。
答案 1 :(得分:0)
从谷歌搜索我得到了。
这是删除XML文件中注释行的命令。
cat fxmgr/wrapperwin32.xml | sed '/<!--.*-->/d' | sed '/<!--/,/-->/d' > cleaned.xml
但是我想用空格替换这个注释。
答案 2 :(得分:0)
尝试使用正则表达式模式匹配来查找和删除。
cat fxmgr/wrapperwin32.xml | sed '/\/\//d' > cleaned.xml