summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xcountmail156
1 files changed, 156 insertions, 0 deletions
diff --git a/countmail b/countmail
new file mode 100755
index 0000000..539cebf
--- /dev/null
+++ b/countmail
@@ -0,0 +1,156 @@
+#!/bin/sh
+# $NetBSD: countmail,v 1.7 2008/04/28 20:22:53 martin Exp $
+
+#
+# Copyright (c) 1998, 2002 The NetBSD Foundation, Inc.
+# All rights reserved.
+#
+# This code is derived from software contributed to The NetBSD Foundation
+# by Charles M. Hannum.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+# Count the messages in your mailbox, using only POSIX shell builtins.
+#
+# Caveats:
+#
+# The read loop is horrendously slow on every implementation I've
+# tried. I suggest using from(1) and wc(1) instead, though these are
+# not shell builtins.
+
+# for krb.
+#set -- `from -t`
+#v=$3
+set -- `from 2>/dev/null |wc -l`
+v=$1
+#v=`from | wc -l`
+
+#v=0
+#exec 0</var/mail/$USER
+#while read line; do
+# case "$line" in
+# "From "*) v=$(($v + 1)) ;;
+# esac
+#done
+#exec 0<&-
+
+set --
+g=0
+v=000$v
+
+while :; do
+
+ case $v in
+ '' | 0 | 00) break ;;
+ *000) ;;
+ *)
+ case $g in
+ 0) x= ;;
+ 1) x=THOUSAND ;;
+ 2) x=MILLION ;;
+ 3) x=BILLION ;;
+ 4) x=TRILLION ;;
+ 5) x=QUADRILLION ;;
+ 6) x=QUINTILLION ;;
+ 7) x=SEXTILLION ;;
+ 8) x=SEPTILLION ;;
+ *)
+ echo "YOU HAVE TOO MUCH MAIL!" 1>&2
+ exit 1
+ ;;
+ esac
+
+ case $v in
+ *10) y=TEN ;;
+ *11) y=ELEVEN ;;
+ *12) y=TWELVE ;;
+ *13) y=THIRTEEN ;;
+ *14) y=FOURTEEN ;;
+ *15) y=FIFTEEN ;;
+ *16) y=SIXTEEN ;;
+ *17) y=SEVENTEEN ;;
+ *18) y=EIGHTEEN ;;
+ *19) y=NINETEEN ;;
+ *2?) y=TWENTY ;;
+ *3?) y=THIRTY ;;
+ *4?) y=FORTY ;;
+ *5?) y=FIFTY ;;
+ *6?) y=SIXTY ;;
+ *7?) y=SEVENTY ;;
+ *8?) y=EIGHTY ;;
+ *9?) y=NINETY ;;
+ *) y= ;;
+ esac
+
+ case $v in
+ *[01]? | *?0) ;;
+ *) y=$y- ;;
+ esac
+
+ case $v in
+ *1?) ;;
+ *1) y=${y}ONE ;;
+ *2) y=${y}TWO ;;
+ *3) y=${y}THREE ;;
+ *4) y=${y}FOUR ;;
+ *5) y=${y}FIVE ;;
+ *6) y=${y}SIX ;;
+ *7) y=${y}SEVEN ;;
+ *8) y=${y}EIGHT ;;
+ *9) y=${y}NINE ;;
+ esac
+
+ case $v in
+ *1??) z=ONE ;;
+ *2??) z=TWO ;;
+ *3??) z=THREE ;;
+ *4??) z=FOUR ;;
+ *5??) z=FIVE ;;
+ *6??) z=SIX ;;
+ *7??) z=SEVEN ;;
+ *8??) z=EIGHT ;;
+ *9??) z=NINE ;;
+ *) z= ;;
+ esac
+
+ set $z ${z:+HUNDRED} $y $x $*
+ ;;
+ esac
+
+ g=$(($g + 1))
+ v=${v%%???}
+
+done
+
+p=S
+
+case "$*" in
+ "") set ZERO ;;
+ ONE) p= ;;
+esac
+
+echo "$*!
+
+$* NEW MAIL MESSAGE$p!
+
+HAHAHAHAHA!"
Un proyecto texto-plano.xyz