0

我有一个包含一堆单独代码块的 XML 文件。每个都需要在自己的文件中...每个都以 . 开头<?xml version="1.0" encoding="UTF-8"?>和结尾</endxml>。BASH 有没有一种方法可以让我获取这个单个文件并将每个代码块都放在它自己的文件之上?

4

1 回答 1

0

如果</endxml>保证自己在单独的行上,您可以尝试这个(不一定是最好的):

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

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

于 2013-02-08T20:07:39.213 回答