我有一个XML文件,其中包含一堆独立的代码块。每个人都需要在自己的文件中...每个人都以<?xml version="1.0" encoding="UTF-8"?>
开头,以</endxml>
结尾。有没有BASH的方法,我可以把这个单个文件放在它自己的文件上面的每个代码块?
答案 0 :(得分:0)
如果保证</endxml>
本身就是一个单独的行,你可以试试这个(不一定是最好的):
awk 'BEGIN {nout=1;} /^<\/endxml>$/ {close("xml"nout".xml"); ++nout;} !/^<\/endxml>$/ {print >("xml"nout".xml");}'
它会创建文件xml1.xml
,xml2.xml
等等。删除</endxml>
行,并保留XML标头。