Пример A-13. behead: Удаление заголовков из электронных писем и новостей

Пример A-13. behead: Удаление заголовков из электронных писем и новостей

  1. #! /bin/sh
  2. # Удаление заголовков из электронных писем и новостей т.е. до первой
  3. # пустой строки
  4. # Mark Moraes, Университет в Торонто
  5. # ==> Такие комментарии добавлены автором документа.
  6. if [ $# -eq 0 ]; then
  7. # ==> Если входной аргумент не задан (файл), то выводить результат на stdin.
  8.         sed -e '1,/^$/d' -e '/^[        ]*$/d'
  9.         # --> Удалить пустые строки и все строки предшествующие им
  10. else
  11. # ==> Если аргумент командной строки задан, то использовать его как имя файла.
  12.         for i do
  13.                 sed -e '1,/^$/d' -e '/^[        ]*$/d' $i
  14.                 # --> То же, что и выше.
  15.         done
  16. fi
  17. # ==> Упражнение: Добавьте проверку на наличие ошибок.
  18. # ==>
  19. # ==> Обратите внимание — как похожи маленькие сценарии sed, за исключением передачи аргумента.
  20. # ==> Можно ли его оформит в виде функции? Почему да или почему нет?