例如,我有一个包含 img URL 的巨大 HTML 文件:http : //ex.example.com/hIh39j+ud9wr4/Uusfh.jpeg
我想得到这个 URL,假设它是整个文件中唯一的URL。
cat file.html | grep -o 'http://ex[a-zA-Z.-]*/[a-zA-Z.-]*/[a-zA-Z.,-]*'
Run Code Online (Sandbox Code Playgroud)
这仅在 URL 没有加号时才有效。
我如何为 + 符号工作?
您错过了字符类0-9
(也无用地使用了 cat):
grep -o 'http://ex[a-zA-Z.-]*/[a-zA-Z0-9+-]*/[a-zA-Z0-9.,-+]*' file.html
Run Code Online (Sandbox Code Playgroud)
略有改进,-i
用于不区分大小写且仅匹配图像.jpg
或.jpeg
.
grep -io 'http://ex[a-z.-]*/[a-z0-9+-]*/[a-z0-9.,-+]*[.jpe?g]' file.html
Run Code Online (Sandbox Code Playgroud)
或者如何:
grep -io 'http://ex.example.*[.jpe?g]' file.html
Run Code Online (Sandbox Code Playgroud)