2015-10-09 42 views
0

文件我有一個XML文件名media.xml,它包括:命令獲取XML文件中的第2行和重命名取名字

​​

有什麼辦法,我可以從獲取"advisory table"名XML文件,並從media.xml重命名我的文件advisory.xml

預先感謝您

+0

是否合理假設'/'的''

標籤的到底是不是真正有您的真實數據? –

回答

0

我希望你<table>元素實際上不是自閉,所以你的XML是有效的。如果是這樣,可以提取使用工具的所述name屬性的值,如xmllint

xmllint --xpath 'string(/table/@name)' media.xml 

此命令的輸出是advisoryTable。你可以管道輸出到sed將刪除Table部分:

xmllint --xpath 'string(/table/@name)' media.xml | sed 's/Table//' 

如果你滿意的結果,這可能是一個命令替換中使用重命名文件:

mv media.xml "$(xmllint --xpath 'string(/table/@name)' media.xml | sed 's/Table//')" 

我將不願意自動鼓勵這種方式重命名文件,因爲你跑的意外覆蓋一些風險。也許這將是一個更好的主意的文件,而不是複製可能使用cp -n避免重挫已經具有相同名稱的文件存在。

相關問題