Bash 在awk脚本中将电子邮件插入sqlite字段

Bash 在awk脚本中将电子邮件插入sqlite字段,bash,sqlite,awk,formatting,Bash,Sqlite,Awk,Formatting,我在awk中的SQlite表字段中插入电子邮件,使用: system("sqlite3 database.db " sprintf("\"UPDATE tbl SET email = '<a href=\\\"mailto:%s\\\">%s</a>' WHERE field = '%s'\", m[1], m[1], l))")) ,在浏览器中呈现此内容我从字面上理解为: <a href="mailto:worldnamegroup@gmail.com">

我在
awk
中的SQlite表字段中插入电子邮件,使用:

system("sqlite3 database.db " sprintf("\"UPDATE tbl SET email = '<a href=\\\"mailto:%s\\\">%s</a>' WHERE field = '%s'\", m[1], m[1], l))"))
,在浏览器中呈现此内容我从字面上理解为:

<a href="mailto:worldnamegroup@gmail.com">worldnamegroup@gmail.com</a>
正在分别转换为

如何插入
电子邮件
,以便在浏览器中正确呈现电子邮件 链接

编辑1 奇怪的是,我从这个选择中得到了其他输出ok,比如 例子。但是当
.mode
设置为
html
时,sqlite会在内部完成这项工作

编辑2 我发现真正的问题可能在sqlite模式选项中。当设置
模式时
列
,它在终端中很好地显示所有内容,但当
模式html
时,它显示:

<TD>&lt;a href=&quot;mailto:worldnamegroup@gmail.com&quot;&gt;worldnamegroup@gmail.com&lt;/a&gt;</TD>

,然后使用它的输出,将我的
模板

显示将输出嵌入模板文件的代码。@CL.请参阅我所做的编辑。IMHO您不应该在
href=\\\\\“mailto:%s\\\\”
中使用这些反斜杠,因为您将其显示为包含在强引用结构(单引号)中的代码在将字符串发送到
系统
命令之前,这应该足以保护双引号不被解释。因此,请尝试删除2x3反斜杠…@jaybee这些是后来添加的,因为没有它们,
未显示around
href
属性,结果相同。所以它确实解决了这个问题。无论如何,它不能影响那些
标记,因为它们在三重“\`”之外。@CL.它与渲染无关,因为当我在VIM中打开
o.html
文件时,我看到了那些
,所以问题以前就出现了。
&lt;a href=&quot;mailto:worldnamegroup@gmail.com&quot;&gt;worldnamegroup@gmail.com&lt;/a&gt;
<TD>&lt;a href=&quot;mailto:worldnamegroup@gmail.com&quot;&gt;worldnamegroup@gmail.com&lt;/a&gt;</TD>
cat o.html |recode html..ascii