使用一行sed命令,我怎麼能得到東西和某人值?從xml使用sed打印文本值
<value name="something">someone</value>
使用正則表達式如下我<value name="(.*)">(.*)<\/value>
可以檢索使用本網站https://www.regex101.com/成功的值。但我不知道我怎麼能使用命令行來做到這一點。
在此先感謝。
使用一行sed命令,我怎麼能得到東西和某人值?從xml使用sed打印文本值
<value name="something">someone</value>
使用正則表達式如下我<value name="(.*)">(.*)<\/value>
可以檢索使用本網站https://www.regex101.com/成功的值。但我不知道我怎麼能使用命令行來做到這一點。
在此先感謝。
喜歡的東西
sed 's#.*name="\(.*\)">\(.*\)<.*#\1 \2#g'
測試
$ echo "<value name=\"something\">someone</value>" | sed 's#.*name="\(.*\)">\(.*\)<.*#\1 \2#g'
something someone
完美,像一個魅力工作! – 2014-12-19 11:30:18
@Thales很高興聽到它幫助:) – nu11p01n73R 2014-12-19 11:32:11
試試這個。
sed -r 's/.*"(.*)">(.*)<.*>$/\1 \2/'
你可以使用'sed -r's /.*"(.*)「 >(。*)<。* $/\ 1 \ 2 /'file'而不是 – 2014-12-19 12:04:52
@KasiyA是的。 – 2014-12-19 12:07:18
注意到usual caveats有關使用正則表達式解析XML,這裏是在動作的XML解析工具對您的樣本數據,與「名稱」屬性認定的屬性值和標籤值的「值」標籤。
xmlstarlet sel -t -v '//value[@name]/@name' -n -v '//value[@name]' -n file.xml
something
someone
肯定,我會更新這個問題=) – 2014-12-19 11:24:44
應指定位的東西,有人可能的內容(特殊字符'<> /「')可以在創建攝或者我們可以認爲這是唯一的詞,最終空間 – NeronLeVelu 2014-12-19 12:05:49