一般來說,對於強大的解決方案,與不同的輸入數據的工作,你應該使用一個XML解析器此任務:基於xmllint
一個解決方案 - xmllint
是標準實用程序OS X和一些 Linux發行版(例如,Fedora):
echo '<LumiBlockCollection><Run>201556</Run><LBRange Start="1020" End="1030"/></LumiBlockCollection>' \
| XMLLINT_INDENT= xmllint --format - | tail -n +2
如果你的Linux發行版不不配備xmllint
,有機會,它可以與你的平臺的軟件包管理器進行安裝;例如,在基於Debian的發行版,例如Ubuntu的: sudo apt-get install libxml2-utils
另一種解決方案的基礎上,第三方實用xmlstarlet
:
echo '<LumiBlockCollection><Run>201556</Run><LBRange Start="1020" End="1030"/></LumiBlockCollection>' \
| xmlstarlet fo --omit-decl --noindent
獲取xmlstarlet
:
- OSX:通過Homebrew安裝與
brew install xmlstarlet
- Linux:很可能是它可以與您的平臺的包管理器一起安裝;例如,在基於Debian的發行版,例如Ubuntu的:
sudo apt-get install xmlstarlet
您在操作系統上是什麼? – mklement0
如何解決問題?如果你使用XML解析器,這很容易。 –
該腳本將在不同的操作系統中使用。通常,我使用OS X,SL(科學linux)和Fedora。 – user3658088