我正在构建一些电子邮件模板,其中包含一些本地图片。用base 64替换本地图像
我想写一个shell脚本来替换把我的图像转换为base64。所以基本上自动开启:
<img width="100%" src="./img/my_image.gif" />
到
<img width="100%" src="data:image/gif;base64,XXXXXXX" />
现在我用这个脚本:
#!/bin/bash
awk -F'[()]' -v q="'" '
/src="(.*)"/ {
cmd=sprintf("openssl enc -base64 -in %s | tr -d %c\\n%c",$2,q,q)
cmd | getline b64
close(cmd)
$0=$1 "(data:image/gif;base64," b64 ");"
}1' ./my_template.html
我遇到两个问题: - 我正则表达式似乎并没有被即使它在regex101 上工作正常 - 这个正则表达式也会捕获非本地图像(src =“https:// ....”)
我该如何调整它才能在此工作?
你能解释一下你的实际需求,而不是你的实际尝试和失败的方式?用最少的投入和预期可核实的产出? – Inian