同一文件中的多个XML块通过bash导出

时间:2013-02-08 19:54:43

标签: xml bash

我有一个XML文件,其中包含一堆独立的代码块。每个人都需要在自己的文件中...每个人都以<?xml version="1.0" encoding="UTF-8"?>开头,以</endxml>结尾。有没有BASH的方法,我可以把这个单个文件放在它自己的文件上面的每个代码块?

1 个答案:

答案 0 :(得分:0)

如果保证</endxml>本身就是一个单独的行,你可以试试这个(不一定是最好的):

awk 'BEGIN {nout=1;} /^<\/endxml>$/ {close("xml"nout".xml"); ++nout;} !/^<\/endxml>$/ {print >("xml"nout".xml");}'

它会创建文件xml1.xmlxml2.xml等等。删除</endxml>行,并保留XML标头。