我有一个包含此html代码的文件:
<p class="center-block"><img alt="ourpicture" class="picture" src="http://mypage.com/ourpicture123" /></p>
现在我想获得像http://mypage.com/ourpicture123这样的来源。 我怎么能用sed处理这个问题?如果我能找到&#39; src =&#34;&#39;那就太好了。之前和&#39;&#34;&#39;后。
答案 0 :(得分:0)
通过sed,
$ sed -n 's/.*\bsrc="\([^"]*\)".*/\1/p' file
http://mypage.com/ourpicture123
通过grep,
grep -oP '\bsrc="\K[^"]*(?=")' file
如果一行包含一行中存在多个src
属性,则上述sed命令将不起作用。上面的grep命令中的\K
将丢弃先前匹配的src="
字符,以便在决赛中打印。
答案 1 :(得分:0)
以下是awk
版本:
awk -F'src="' '{split($2,a,"\"");print a[1]}' file
http://mypage.com/ourpicture123
或者像这样:
awk -F'src="' '{sub(/".*$/,"",$2);print $2}' file
http://mypage.com/ourpicture123
如果您有多行,并且只需要src=
行:
awk -F'src="' 'NF>1{split($2,a,"\"");print a[1]}' file
http://mypage.com/ourpicture123