aboutsummaryrefslogtreecommitdiff
path: root/etc/ce
diff options
context:
space:
mode:
Diffstat (limited to 'etc/ce')
-rwxr-xr-xetc/ce28
1 files changed, 28 insertions, 0 deletions
diff --git a/etc/ce b/etc/ce
new file mode 100755
index 0000000..c00d1bf
--- /dev/null
+++ b/etc/ce
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+# ce -- center text
+
+usage() { echo usage: $0 [cols] 1>&2; exit 1; }
+
+[ $# -gt 1 ] && usage
+
+if [ $# -eq 1 ]; then
+ cols=${1#-}
+ [ "$cols" -gt 0 ] || usage
+ shift
+else
+ cols=`tput cols`
+ [ "$cols" -le 80 ] || cols=80
+fi
+
+while read line; do
+ line=${line## }
+ line=${line%% }
+ len=`echo "$line" | wc -c`
+ max=$(((cols - len) / 2))
+ i=0
+ while [ $((i++)) -lt $max ]; do
+ printf ' '
+ done
+ echo "$line"
+done