我有一个带有1行长字符串的xml文件 我想在“”之后提取数字 像下面的例子,我想得到131
.....<yt:duration seconds='131'/>....
“....”在这里表示“”之前和之后的子串,它们长有不同的字符,数字和标记。
如何使用sed提取匹配号码? 谢谢
答案 0 :(得分:0)
使用grep
,而不是sed
:
grep -o "<yt:duration seconds='[0-9]\+'/>" file.txt | cut -f2 -d"'"
答案 1 :(得分:0)
一个sed解决方案(使用@
作为分隔符):
sed -r "s@.*<yt:duration seconds='([0-9]+)'/>.*@\1@" file.txt
对于OSX,请将-r
替换为-E