>[оверквотинг удален]
> if [ ! -f "$1" ]
> # Проверка существования файла.
> then
> echo "Файл \"$1\" не найден."
> exit $E_NOFILE
> fi
> # main ()
> #не могу разобраться что программа делает ниже
> sed -e 's/\.//g' -e 's/ /\
> /g' "$1" заменяет все точки на пустое место (удаляет), потом пробелы
| tr 'A-Z' 'a-z'
переводит все символы в нижний регистр (диапазон A-Z=>a-z)
| sort |
сортирует вывод (по умолчанию - по алфавиту - для этого очевидно и привод символов в нижний регистр перед этим)
uniq -c |
удаляет повторяющиеся строки и выводит п/д строкой количество повторений: кол-во пробел строка
> sort -nr
сортирует строки по количеству вхождения (по кол-ву из предыдущей команды)
> exit 0