0
我有一個XML文件,其中包含一堆單獨的代碼塊。每個人都需要在自己的文件中...每個人都以<?xml version="1.0" encoding="UTF-8"?>
開頭並以</endxml>
結尾。有沒有BASH的方法,我可以把這個單一的文件,並使自己的文件上面的每個代碼塊?通過bash導出同一文件中的多個XML塊
我有一個XML文件,其中包含一堆單獨的代碼塊。每個人都需要在自己的文件中...每個人都以<?xml version="1.0" encoding="UTF-8"?>
開頭並以</endxml>
結尾。有沒有BASH的方法,我可以把這個單一的文件,並使自己的文件上面的每個代碼塊?通過bash導出同一文件中的多個XML塊
如果</endxml>
保證本身是一個單獨的行,你可以試試這個(不一定是最好的):
awk 'BEGIN {nout=1;} /^<\/endxml>$/ {close("xml"nout".xml"); ++nout;} !/^<\/endxml>$/ {print >("xml"nout".xml");}'
它會創建文件xml1.xml
,xml2.xml
等。 </endxml>
行被刪除,並保留XML標頭。
我似乎得到以下錯誤:awk file.xml使太多打開的文件 – Tony 2013-02-08 20:45:56
@Tony編輯,嘗試一個新的變體 – 2013-02-08 20:47:53