我正在尝试使用grep来获取HTML文件中jpg图像的完整url地址。一个问题是其中没有很多换行符,所以当我使用grep它获取路径时,还有很多其他我不感兴趣的东西。我怎样才能获得jpg图像的URL? / p>
答案 0 :(得分:11)
一个sed
命令
sed -n '/<img/s/.*src="\([^"]*\)".*/\1/p' yourfile.html
或使用ERE(extended regular expressions)从上面的表达式中避免backslashes:
sed -E -n '/<img/s/.*src="([^"]*)".*/\1/p' yourfile.html
一个基本的grep
命令
grep -o '<img[^>]*src="[^"]*"' yourfile.html
两个连续的基本grep
命令
grep -o '<img[^>]*src="[^"]*"' yourfile.html | grep -o '"[^"]*"'
使用Perl Regex的一个grep
命令(PER)
grep -Po '<img[^>]*src="\K[^"]*(?=")' yourfile.html
将ack
用作grep
- 替换
sudo apt install ack
ack -o '<img[^>]*src="\K[^"]*(?=")' yourfile.html
根据s-hunter
的建议下载网页curl -s example.com/a.html | sed -En '/<img/s/.*src="([^"]*)".*/\1/p'