使用“mail”命令删除一系列电子邮件

使用“mail”命令删除一系列电子邮件

我的收件箱中有大约 1k+ 封邮件(旧的 cronjob 标准输出)。如何批量删除它们?

我使用的是 Solaris 8,并且只有mail可用的、没有pinemutt类似的基于“UI”的客户端。

内联帮助和手册页仅提供d #删除特定邮件的功能。例如,我尝试过d 1 - 100但没有运气。而且我不想做d1000次。

有什么想法如何清理这个收件箱吗?我实际上想清除所有超过 x 天的邮件。

答案1

虽然mail可能无法,并且您没有pine或者mutt您可能mailx。并且mailx可以d 5-10d *

答案2

如果您想执行d 1through 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

相关内容