mirror of https://github.com/tLDP/LDP
53 lines
1.4 KiB
Bash
53 lines
1.4 KiB
Bash
#!/bin/bash
|
|
# mail-format.sh (ver. 1.1): Format e-mail messages.
|
|
|
|
# Gets rid of carets, tabs, and also folds excessively long lines.
|
|
|
|
# =================================================================
|
|
# Standard Check for Script Argument(s)
|
|
ARGS=1
|
|
E_BADARGS=85
|
|
E_NOFILE=86
|
|
|
|
if [ $# -ne $ARGS ] # Correct number of arguments passed to script?
|
|
then
|
|
echo "Usage: `basename $0` filename"
|
|
exit $E_BADARGS
|
|
fi
|
|
|
|
if [ -f "$1" ] # Check if file exists.
|
|
then
|
|
file_name=$1
|
|
else
|
|
echo "File \"$1\" does not exist."
|
|
exit $E_NOFILE
|
|
fi
|
|
# -----------------------------------------------------------------
|
|
|
|
MAXWIDTH=70 # Width to fold excessively long lines to.
|
|
|
|
# =================================
|
|
# A variable can hold a sed script.
|
|
# It's a useful technique.
|
|
sedscript='s/^>//
|
|
s/^ *>//
|
|
s/^ *//
|
|
s/ *//'
|
|
# =================================
|
|
|
|
# Delete carets and tabs at beginning of lines,
|
|
#+ then fold lines to $MAXWIDTH characters.
|
|
sed "$sedscript" $1 | fold -s --width=$MAXWIDTH
|
|
# -s option to "fold"
|
|
#+ breaks lines at whitespace, if possible.
|
|
|
|
|
|
# This script was inspired by an article in a well-known trade journal
|
|
#+ extolling a 164K MS Windows utility with similar functionality.
|
|
#
|
|
# An nice set of text processing utilities and an efficient
|
|
#+ scripting language provide an alternative to the bloated executables
|
|
#+ of a clunky operating system.
|
|
|
|
exit $?
|