Centos /home/user/mail/new のユーザーアカウントの下に大量のメールリストが見つかりました
いくつか開いてみると、特定の cron ジョブから送信されたことがわかりました。送信元アドレスは です[email protected]
。これらすべてのメールが から送信されたかどうかを確認する必要があります。[email protected]
メールは約 30 GB あります。送信元アドレスの一意のリストを grep で抽出する方法はありますか? メールの形式は次のようになります。
復路:
封筒の宛先:[メールアドレス]
配達日: 2011 年 8 月 11 日 (木) 04:34:02 -0400
受信: hostname.com のユーザーからローカルで受信 (Exim 4.69)
(封筒-差出人)
id 1QrQiI-0004qM-6V
のために[メールアドレス]; 2011 年 8 月 11 日 (木) 04:34:02 -0400
から:[メールアドレス](Cronデーモン)
件名: Cron /opt/gsn/reports/pr.sh
コンテンツタイプ: text/plain; 文字セット=UTF-8
自動送信: 自動生成
メッセージ ID:
日付: 2011 年 8 月 11 日 (木) 04:34:02 -0400
[メッセージ内容]
答え1
$ grep -E '^From:' /some/file | uniq
答え2
メールの合計数を取得するには、次のコマンドを実行します。
grep From: /home/user/mail/new | wc -l
ルートからのメール数を取得するには、これを実行します
grep ^From /home/user/mail/new | grep root\@hostname.com | wc -l
現在 (メールの合計数) - (ルートからのメール数) = メールの合計数からの実際のメール数。
答え3
これを試して:
awk '/^From: / { print $2 }' /home/user/mail/new | sort | uniq -c | sort -rn
1 つのファイルではなく、各メールは約 20K で、メールの合計は 30G になります。
awk '/^From: / { print $2 }' /home/user/mail/* | sort | uniq -c | sort -rn