Пример A-9. Создание «словаря» | Популярный Linux

Опубликовано Bash в Ср, 23/12/2009 — 21:13

Пример A-9. Создание «словаря»

  1. #!/bin/bash
  2. # makedict.sh  [создание словаря]
  3. # Модификация сценария /usr/sbin/mkdict.
  4. # Авторские права на оригинальный сценарий принадлежат Alec Muffett.
  5. #
  6. #  Этот модифицированный вариант включен в документ на основе
  7. #+ документа «LICENSE» из пакета «Crack»
  8. #+ с которым распространяется оригинальный сценарий.
  9. #  Этот скрипт обрабатывает текстовые файлы и создает отсортированный список
  10. #+ слов, найденных в этих файлах.
  11. #  Он может оказаться полезным для сборки словарей
  12. #+ и проведения лексикографического анализа.
  13. E_BADARGS=65
  14. if [ ! -r «$1» ]                     #  Необходим хотя бы один аргумент —
  15. then                                 #+ имя файла.
  16.   echo «Порядок использования: $0 имена_файлов»
  17.   exit $E_BADARGS
  18. fi
  19. # SORT=»sort»                        #  Необходимость задания ключей сортировки отпала.
  20.                                      #+ Изменено, по отношению к оригинальному сценарию.
  21. cat $* |                             # Выдать содержимое файлов на stdout.
  22.         tr A-Z a-z |                 # Преобразовать в нижний регистр.
  23.         tr ‘ ‘ ‘\012’ |              # Новое: заменить пробелы символами перевода строки.
  24. #       tr -cd ‘\012[a-z][0-9]’ |    #  В оригинальном сценарии: удалить все символы,
  25.                                      #+ которые не являются буквами или цифрами.
  26.         tr -c ‘\012a-z’  ‘\012’ |    #  Вместо удаления
  27.                                      #+ неалфавитно-цифровые символы заменяются на перевод строки.
  28.         sort |
  29.         uniq |                       # Удалить повторяющиеся слова.
  30.         grep -v ‘^#’ |               # Удалить строки, начинающиеся с «#».
  31.         grep -v ‘^$’                 # Удалить пустые строки.
  32. exit 0

Запись опубликована в рубрике Без рубрики. Добавьте в закладки постоянную ссылку.