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