受信トレイに約1千通以上のメールがあります(古いcronjob stdout)。それらを一括で削除するにはどうすればよいですか?
私はSolaris 8を使用していますが、mail
しか使用できず、pine
やmutt
、または同様の「UI」ベースのクライアントはありません。
インラインヘルプとマニュアルページでは、特定のメールを削除するためにd #
のみを提供しています。たとえばd 1 - 100
を試しましたが、うまくいきませんでした。そして、私はd
を1000回行う気がしません。
この受信トレイをクリーンアップする方法はありますか? x日以上経過したすべてのメールを実際に削除したいのですが。
mail
を使用できない場合や、pine
またはmutt
がない場合は、おそらくdoがmailx
を持っています。そしてmailx
はd 5-10
またはd *
。
以下は、1秒間のメールの読み取り、メールの削除、次のメールへの移動に役立ちます。すべてのメールが削除されている場合、ループは停止します。
もう少し時間が欲しいですか?睡眠を2以上に変更します。もっと早くしたいですか? sleep 1をダミーコマンドに置き換えます。
while (echo dq |mail) do sleep 1 ;done
d 1
からd 100
を実行する場合は、その一連のコマンドを生成して、直接mail
にパイプすることができます。
i=1; while [ $i -le 100 ]; do echo d $i; i=$(($i+1)); done | mail