我的收件箱中有大约 1k+ 封邮件(旧的 cronjob 标准输出)。如何批量删除它们?
我使用的是 Solaris 8,并且只有mail
可用的、没有pine
或mutt
类似的基于“UI”的客户端。
内联帮助和手册页仅提供d #
删除特定邮件的功能。例如,我尝试过d 1 - 100
但没有运气。而且我不想做d
1000次。
有什么想法如何清理这个收件箱吗?我实际上想清除所有超过 x 天的邮件。
答案1
虽然mail
可能无法,并且您没有pine
或者mutt
您可能做有mailx
。并且mailx
可以d 5-10
或d *
。
答案2
如果您想执行d 1
through d 100
,您可以生成该命令序列并将其直接通过管道传输到mail
:
i=1; while [ $i -le 100 ]; do echo d $i; i=$(($i+1)); done | mail
答案3
以下内容将帮助您在 1 秒内阅读邮件、删除邮件并转到下一封邮件。如果所有邮件均已删除,循环将停止。
想要更多时间吗?将睡眠更改为 2 或更多。想要更快吗?将 sleep 1 替换为虚拟命令。
while (echo dq |mail) do sleep 1 ;done