0

我有一个带有 1 行长字符串的 xml 文件我想提取 "" 之后的数字,如下例所示,我想得到 131

.....<yt:duration seconds='131'/>....

这里的“....”是指“”之前和之后的子字符串,它们很长,带有不同的字符、数字和标记。

如何使用 sed 提取匹配号码?谢谢

4

2 回答 2

0

一个 sed 解决方案(@用作分隔符):

sed -r "s@.*<yt:duration seconds='([0-9]+)'/>.*@\1@" file.txt

对于 OSX,替换-r-E

于 2012-10-26T01:55:19.287 回答
0

使用grep,而不是sed

grep -o "<yt:duration seconds='[0-9]\+'/>" file.txt | cut -f2 -d"'"
于 2012-10-25T14:15:04.163 回答