#!/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
Последние комментарии