![正则表达式匹配 = 后跟换行符,以便它们都被删除](https://linux22.com/image/77580/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%8C%B9%E9%85%8D%20%3D%20%E5%90%8E%E8%B7%9F%E6%8D%A2%E8%A1%8C%E7%AC%A6%EF%BC%8C%E4%BB%A5%E4%BE%BF%E5%AE%83%E4%BB%AC%E9%83%BD%E8%A2%AB%E5%88%A0%E9%99%A4.png)
我正在 OSX 中处理 mail.app 消息的原始源内容,但结果它为我提供了引用的可打印 MIME 电子邮件编码中的文本。所以我需要删除所有这些奇怪的字符以获得正确的 HTML。
这是一个例子:
<p style=3D"margin:1em 0 3px 0;">
<a name=3D"1" style=3D"font-family:Arial, Helvetica, sans-serif;font-size:1=
8px;" href=3D"http://feedproxy.google.com/~r/WwwhatsNew/~3/8BdOd-xRTU4/?utm=
_source=3Dfeedburner&utm_medium=3Demail">Hyundai ya ofrece manuales de =
los coches con Realidad Aumentada</a>
</p>
这里我有 =CRLF 和 =3D
我知道如何替换所有这些字符 =C3=A1 =C3=A9 =C3=AD =C3=B3 =C3=BA =C3=81 =C3=89 =C3=8D =C3=93 =C3=9A = C3=B1 =C3=91 =3D =f
我只需要删除这个 =CRLF 或 '=' 后跟换行符。
答案1
为什么要重新发明轮子? qprint
已经存在:
Description-en: 用于引用打印编码的编码器和解码器
Qprint 是一个命令行程序,可以将文件编码或解码为引用可打印编码 (RFC1521)。它可以处理文本和二进制数据。
输入示例:
$ cat nadir.txt
<p style=3D"margin:1em 0 3px 0;">
<a name=3D"1" style=3D"font-family:Arial, Helvetica, sans-serif;font-size:1=
8px;" href=3D"http://feedproxy.google.com/~r/WwwhatsNew/~3/8BdOd-xRTU4/?utm=
_source=3Dfeedburner&utm_medium=3Demail">Hyundai ya ofrece manuales de =
los coches con Realidad Aumentada</a>
</p>
示例输出:
$ qprint -d nadir.txt
<p style="margin:1em 0 3px 0;">
<a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://feedproxy.google.com/~r/WwwhatsNew/~3/8BdOd-xRTU4/?utm_source=feedburner&utm_medium=email">Hyundai ya ofrece manuales de los coches con Realidad Aumentada</a>
</p>
qprint
可以为大多数 Linux 发行版预先打包。
还有几个用于编码和解码带引号的可打印文本的 perl 模块,包括MIME::QuotedPrint
和PerlIO::via::QuotedPrint
。毫无疑问,快速的谷歌搜索也会显示Python和其他语言的QP库。