Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在xml文件中拆分和添加新行分隔符(使用linux bash)_Xml_Linux_Bash - Fatal编程技术网

如何在xml文件中拆分和添加新行分隔符(使用linux bash)

如何在xml文件中拆分和添加新行分隔符(使用linux bash),xml,linux,bash,Xml,Linux,Bash,我有以下xml文件。实际上,我在建造它的时候犯了一个错误。我没有在查询结束后添加新行。我可以在linux中使用什么命令来修改它 </query><query id="..."> ^ split here. add new line delimiter </query> <query id="..."> 输入 输出 谢谢。试试这句话: xmllint --format your.xml 如

我有以下xml文件。实际上,我在建造它的时候犯了一个错误。我没有在查询结束后添加新行。我可以在linux中使用什么命令来修改它

</query><query id="...">
        ^ split here. add new line delimiter

</query>
<query id="...">
输入 输出 谢谢。

试试这句话:

xmllint --format your.xml

如果只是添加换行符,那么

sed -i -e 's#</query><query#</query>\n<query#' file.xml

如果要在结束标记后换行,可以使用以下sed命令:


告诉我你怎么看@Kent sed-e's/>\n@HaniGoc如果您的输入是格式良好的xml,并且有xml方法来处理它,那么不要使用sed/awk/grep/。。。。。如果换行符对您很重要,我认为缩进可能在相同的情况下。塞德的替换将破坏压痕。你必须自己调整。好的,我知道了。当xml格式良好时,最好使用专用工具。OK@HaniGoc也许你喜欢sed的回答。它对你的输入有效。但它不应用于处理XML文件。如果XML文件有一个包含
xmllint --format your.xml
sed -i -e 's#</query><query#</query>\n<query#' file.xml
xmllint --format file.xml > newfile.xml
sed  "s/<\/query>/<\/query>\n/g" input.xml