这是我在Workaround Perl regexp limit中试图解决的实际问题 ? 但我的问题不够广泛。
我使用 Alpine 阅读邮件,但有几个大小为 100 兆字节的邮箱。Alpine 可以很好地处理它们,但是执行“搜索所有文本”很慢,甚至直接在邮箱(文件)上使用“grep”也会很慢。
这个大小的大部分是由于 base64 附件。我的邮箱中并不需要 base64 附件,因为我无法有效地搜索其中的文本。
我想从我的邮箱中删除 base64 编码的附件,将它们存储在单独的文件中,并将附件替换为“[附件现在位于 /usr/attachments/somefile]”。
请注意,我实际上想将 base64 编码存储在“somefile”中。我不想先解码它。为什么?Base64 解码损坏的附件会丢失信息。换句话说,base64 解码损坏的附件然后重新编码可能会产生不同的字符串。
在我“分解”附件之前,我希望能够逐个字符地重建我的邮箱。这对于 sha1 检查和我的整体偏执狂很有用。
换句话说,我想将笨重且有用的 base64 编码附件移出我的邮箱,但不会丢失一个字符。
我严重失败的尝试是在GITHUB