使用bash脚本

时间:2015-08-06 09:08:52

标签: bash parsing grep

我正在尝试从XML文件中的<enclosure>标记中提取文件的URL。问题是<enclosure>标签中子元素的顺序似乎发生了变化。通常它看起来像这样:

<enclosure length="3026587648" url="2015-0805.mpeg" type="video/mpeg" />

但有时URL首先出现,这意味着使用cut -f并不可靠。

我已将整个机柜标记设为grep -m 1 "enclosure",网址设为cut -d " " -f 3

但是必须有更好的方法来提取网址,无论它出现在哪里?

我目前正在进行Slackware安装,xmllint和xmlstarlet似乎无法使用。

感谢您的任何反馈!!

1 个答案:

答案 0 :(得分:1)

您可以使用此sed

grep -m 1 "enclosure" yourfile.txt | sed -n 's/^.*\(url="[^"]*"\).*$/\1/p'