解決策 1:
遅延キューにあるメッセージの数だけを知りたい場合は、次の方法で簡単に答えを得ることができます:
find /var/spool/postfix/deferred -type f | wc -l
他に 3 つのキューがあります。詳細については、http://www.porcupine.org/postfix/queueing.html を参照してください。
解決策 2:
出力をフィルタリングして、最後の行のみを表示できます:
mailq | tail -n 1
解決策 3:
関連する問題として、コマンド「mail --headers」を使用して Brian Showalter の提案を変更することにより、mbox 形式で保存されているメールボックス内のメッセージの数を取得することもできます。たとえば、.bashrc ファイルに次の行があります:
if [ -s /var/mail/$(whoami) ] ; then echo -e "\nYou have $(ls -s -h /var/mail/$(whoami) | cut -d" " -f 1) of mail. Number of messages: $(mail --file /var/mail/$(whoami) --headers | wc -l) ($(mail --file /var/mail/$(whoami) --headers | sed '/^>* *[0-9]/d' | wc -l) unread)" ; fi