SED - 在所有 jpg 文件前加上完整 URL
SED - Prefix all jpg files with full URL
我有一个 HTML 文件,其中包含图像的本地路径 - /image1.jpg 或 /image2.png
我想使用 SED 为所需的 url 添加前缀 - https://example.com.
想要的结果是https://example.com/image1.jpg
我试过了 -
sed "s#.*.jpg#https://example.com/*.jpg#g" index.html > index2.html
结果是 index2.html,它找到了图像名称,但我的替代品没有使用这些名称。如何保留匹配名称?
有什么建议吗?
示例输入 -
<img src="Image1.jpg" alt="boat" /><figcaption>boat</figcaption>
示例输出 -
<img src="https://example.com/image1.jpg" alt="boat" /><figcaption>boat</figcaption>
使用sed
$ sed 's#="#&https://example.com#' input_file
<p><img src="https://example.com/image1.jpg" /></p>
您可以使用
sed 's~\(="\)\([^"]*\.jpg"\)~https://example.com/~g'
详情:
\(="\)
- 第 1 组 (</code>):<code>="
字符串
\([^"]*\.jpg"\)
- 第 2 组 (</code>):除 <code>"
之外的任何零个或多个字符,然后是 .jpg"
子字符串。
参见online demo:
#!/bin/bash
s='<img src="Image1.jpg" alt="boat" /><figcaption>boat</figcaption>'
sed 's~\(="\)\([^"]*\.jpg"\)~https://example.com/~g' <<< "$s"
输出:
<img src="https://example.com/Image1.jpg" alt="boat" /><figcaption>boat</figcaption>
这就是最终轻松完成的工作。感谢大家的投入。试图让它在 Windows 上的批处理文件中工作很痛苦。
命令行-
sed -f sedscript.sed index.html > index2.html
sedscript.sed
的内容
s#src="#&https://example.com/#g
我有一个 HTML 文件,其中包含图像的本地路径 - /image1.jpg 或 /image2.png
我想使用 SED 为所需的 url 添加前缀 - https://example.com.
想要的结果是https://example.com/image1.jpg
我试过了 -
sed "s#.*.jpg#https://example.com/*.jpg#g" index.html > index2.html
结果是 index2.html,它找到了图像名称,但我的替代品没有使用这些名称。如何保留匹配名称?
有什么建议吗?
示例输入 -
<img src="Image1.jpg" alt="boat" /><figcaption>boat</figcaption>
示例输出 -
<img src="https://example.com/image1.jpg" alt="boat" /><figcaption>boat</figcaption>
使用sed
$ sed 's#="#&https://example.com#' input_file
<p><img src="https://example.com/image1.jpg" /></p>
您可以使用
sed 's~\(="\)\([^"]*\.jpg"\)~https://example.com/~g'
详情:
\(="\)
- 第 1 组 (</code>):<code>="
字符串\([^"]*\.jpg"\)
- 第 2 组 (</code>):除 <code>"
之外的任何零个或多个字符,然后是.jpg"
子字符串。
参见online demo:
#!/bin/bash
s='<img src="Image1.jpg" alt="boat" /><figcaption>boat</figcaption>'
sed 's~\(="\)\([^"]*\.jpg"\)~https://example.com/~g' <<< "$s"
输出:
<img src="https://example.com/Image1.jpg" alt="boat" /><figcaption>boat</figcaption>
这就是最终轻松完成的工作。感谢大家的投入。试图让它在 Windows 上的批处理文件中工作很痛苦。
命令行-
sed -f sedscript.sed index.html > index2.html
sedscript.sed
的内容s#src="#&https://example.com/#g