bash – 如何使用终端将mbox文件拆分为n-MB大块?
发布时间:2020-12-15 22:51:05 所属栏目:安全 来源:网络整理
导读:所以我已经 read through this question了,但它对我没有任何帮助.我想将Gmail生成的mbox文件导入另一个webmail服务,但问题是每次导入只允许40 MB的大文件. 所以我不得不将mbox文件拆分为max. 40 MB大文件并一个接一个地导入它们.你会怎么做? 我最初的想法是
所以我已经
read through this question了,但它对我没有任何帮助.我想将Gmail生成的mbox文件导入另一个webmail服务,但问题是每次导入只允许40 MB的大文件.
所以我不得不将mbox文件拆分为max. 40 MB大文件并一个接一个地导入它们.你会怎么做? 我最初的想法是使用其他脚本(formail)将每个邮件保存为单个文件,然后运行脚本将它们组合到40 MB的大文件中,但我仍然不知道如何使用终端执行此操作. 我也查看了拆分命令,但我担心它会切断邮件. 解决方法
如果您的mbox采用标准格式,则每封邮件将以From和空格开头:
From someone@somewhere.com 因此,您可以将您的MBOX复制到临时目录,并尝试使用awk逐个消息地处理它,只在任何消息的开头分割.假设我们为每个输出文件发送了1,000条消息: awk 'BEGIN{chunk=0} /^From /{msgs++;if(msgs==1000){msgs=0;chunk++}}{print > "chunk_" chunk ".txt"}' mbox 然后,您将获得名为chunk_1.txt的输出文件到chunk_n.txt,每个文件最多包含1,000条消息. 如果您不幸遇到Windows(无法理解单引号),则需要将以下内容保存在名为awk.txt的文件中 BEGIN{chunk=0} /^From /{msgs++;if(msgs==1000){msgs=0;chunk++}}{print > "chunk_" chunk ".txt"} 然后输入 awk -f awk.txt mbox (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |