我有一堆XML文件,都以XML声明
开头<?xml version="1.0" encoding="UTF-8"?>
在最后的“&gt;”之后它直接与下面标记的开头一起继续 - 就像这样:<?xml version="1.0" encoding="UTF-8"?><tag>
我想将它拆分成一条新线,然后是另一条新线。像这样:
<?xml version="1.0" encoding="UTF-8"?>
New line
New line
<tag>
怎么可以这样做?
非常感谢提前: - )
/保
答案 0 :(得分:2)
使用sed
:
AMD$ sed 's/<?xml version="1.0" encoding="UTF-8"?>/&\n\n\n/' File
<?xml version="1.0" encoding="UTF-8"?>
<tag>
只需使用相同的模式替换模式<?xml version="1.0" encoding="UTF-8"?>
,然后添加3
个换行符(这将在2
之前创建<tag>
个换行符。
使用sed -i.bak 's/<?xml version="1.0" encoding="UTF-8"?>/&\n\n\n/' File
进行原地替换。
答案 1 :(得分:0)
基于您的定义(开头)和内容
sed '1 {
/<[?]xml/ {
s/<tag>//
a \
new line 1 (whatever also just a \n like "new line 2") \
\
<tag>
}
}' YourFile
\
char),并且有一点安全性(仅采用第1行并以?xml
开头)< / LI>
-i
对GNU sed进行内联修改