Пример A-1. manview: Просмотр страниц руководств man
#!/bin/bash # manview.sh: Просмотр страниц руководств man в форматированном виде.
# Полезен писателям страниц руководств, позволяет просмотреть страницы в исходном коде #+ как они будут выглядеть в конечном виде.
E_WRONGARGS=65
if [ -z "$1" ] then echo "Порядок использования: `basename $0` имя_файла" exit $E_WRONGARGS fi
groff -Tascii -man $1 | less
# Если страница руководства включает в себя таблицы и/или выражения, # то этот сценарий "стошнит". # Для таких случаев можно использовать следующую строку. # # gtbl < "$1" | geqn -Tlatin1 | groff -Tlatin1 -mtty-char -man # # Спасибо S.C.
exit 0
Пример A-2. mailformat: Форматирование электронных писем
#!/bin/bash # mail-format.sh: Форматирование электронных писем.
# Удаляет символы "^", табуляции и ограничивает чрезмерно длинные строки.
# ================================================================= # Стандартная проверка аргументов ARGS=1 E_BADARGS=65 E_NOFILE=66
if [ $# -ne $ARGS ] # Проверка числа аргументов then echo "Порядок использования: `basename $0` имя_файла" exit $E_BADARGS fi
if [ -f "$1" ] # Проверка наличия файла. then file_name=$1 else echo "Файл \"$1\" не найден." exit $E_NOFILE fi # =================================================================
MAXWIDTH=70 # Максимальная длина строки.
# Удаление символов "^" начиная с первого символа строки, #+ и ограничить длину строки 70-ю символами. sed ' s/^>// s/^ *>// s/^ *// s/ *// ' $1 | fold -s --width=$MAXWIDTH # ключ -s команды "fold" разрывает, если это возможно, строку по пробельному символу.
# Этот сценарий был написан после прочтения статьи, в котором расхваливалась #+ утилита под Windows, размером в 164K, с подобной функциональностью. # # Хороший набор утилит для обработки текста и эффективный #+ скриптовый язык -- это все, что необходимо, чтобы составить серьезную конкуренцию #+ чрезмерно "раздутым" программам.