我正在尋找一個sed命令來清理我所擁有的一些kml文件。這些文件都在同一行,看起來像這樣在第一個實例之前和之後刪除Sed命令
<some text><kml><Document><name> Name </name><Placemark><name> Hotel 01 </name></Placemark><Placemark><name> Hotel 02 </name></Placemark><Placemark><name> Hotel 03 </name></Placemark></Document></kml>
理想我唯一想要的部分開始(包括)第一<Placemark>
元素到最後(含)</Placemark>
元素,並從所有這些部分kml文件輸出到單個文件。
我很高興在第一<Placemark>
之前可以刪除所有文字和最後</Placemark>
後刪除所有文字,或命令的第一<Placemark>
後,最後</Placemark>
之前的內容中提取的命令。
,我已經成功地一起迄今爲止彆彆扭扭的命令是:
find . -name 'kmlFiles00*' -exec sed -r 's/^.{879}/ /' {} \; | sed -e 's/<\/Document><\/kml>//g' > placemarks_`date +%d-%m-%Y`.list
這在擺脫第879個字符的已經工作,然後將其輸出到所有決賽前去除</Document></kml>
所有實例文件,但這是相當混亂,所以我正在尋找一個更乾淨的命令。我也曾嘗試
sed -e 's/^.*<Placemark> //' -e 's/<\/Placemark>.*$//'
我知道越來越近,但仍然無法