Опубликовано Bash в Ср, 23/12/2009 — 21:13
Пример A-9. Создание «словаря»
-
#!/bin/bash
-
# makedict.sh [создание словаря]
-
# Модификация сценария /usr/sbin/mkdict.
-
# Авторские права на оригинальный сценарий принадлежат Alec Muffett.
-
#
-
# Этот модифицированный вариант включен в документ на основе
-
#+ документа «LICENSE» из пакета «Crack»
-
#+ с которым распространяется оригинальный сценарий.
-
# Этот скрипт обрабатывает текстовые файлы и создает отсортированный список
-
#+ слов, найденных в этих файлах.
-
# Он может оказаться полезным для сборки словарей
-
#+ и проведения лексикографического анализа.
-
E_BADARGS=65
-
if [ ! -r «$1» ] # Необходим хотя бы один аргумент —
-
then #+ имя файла.
-
echo «Порядок использования: $0 имена_файлов»
-
exit $E_BADARGS
-
fi
-
# SORT=»sort» # Необходимость задания ключей сортировки отпала.
-
#+ Изменено, по отношению к оригинальному сценарию.
-
cat $* | # Выдать содержимое файлов на stdout.
-
tr A-Z a-z | # Преобразовать в нижний регистр.
-
tr ‘ ‘ ‘\012’ | # Новое: заменить пробелы символами перевода строки.
-
# tr -cd ‘\012[a-z][0-9]’ | # В оригинальном сценарии: удалить все символы,
-
#+ которые не являются буквами или цифрами.
-
tr -c ‘\012a-z’ ‘\012’ | # Вместо удаления
-
#+ неалфавитно-цифровые символы заменяются на перевод строки.
-
sort |
-
uniq | # Удалить повторяющиеся слова.
-
grep -v ‘^#’ | # Удалить строки, начинающиеся с «#».
-
grep -v ‘^$’ # Удалить пустые строки.
-
exit 0
- Страница для печати
- 10073 просмотра