Искусство программирования на языке сценариев командной оболочки


Программирование на языке сценариев командной оболочки - стр. 309


if [[ "$s1" -ne "$s2" || "$s3" -eq 9 ]] then suffix=$s2 else suffix=${s2:$char_pos} fi # ++++++++++++++++++++++++ Конец исключения отдельных ситуаций +++++++++++++++++++++++++++++++

padding=000 # Дополнить тремя нулями.

soun=$prefix$suffix$padding # Нули добавить в конец получившегося индекса.

MAXLEN=4 # Ограничить длину индекса 4-мя символами. soundex=${soun:0:$MAXLEN}

echo "Индекс созвучия = $soundex"

echo

# Индекс "созвучия" - это метод индексации и классификации имен #+ по подобию звучания. # Индекс "созвучия" начинается с первого символа в имени, #+ за которым следуют 3-значный расчетный код. # Имена, которые произносятся примерно одинаково, имеют близкие индексы "созвучия".

# Например: # Smith и Smythe -- оба имеют индекс "созвучия" "S530". # Harrison = H625 # Hargison = H622 # Harriman = H655

# Как правило эта методика дает неплохой результат, но имеются и аномалии. # # # Дополнительную информацию вы найдете на #+ "National Archives and Records Administration home page", #+ http://www.nara.gov/genealogy/soundex/soundex.html

# Упражнение: # ---------- # Упростите блок "Исключение отдельных ситуаций" .

exit 0

Пример A-11. "Игра "Жизнь""

#!/bin/bash # life.sh: Игра "Жизнь"

# ##################################################################### # # Это Bash-версия известной игры Джона Конвея (John Conway) "Жизнь". # # --------------------------------------------------------------------- # # Прямоугольное игровое поле разбито на ячейки, в каждой ячейке может # #+ располагаться живая особь. # # Соответственно, ячейка с живой особью отмечается точкой, # #+ не занятая ячейка -- остается пустой. # # Изначально, ячейки заполняются из файла -- # #+ это первое поколение, или "поколение 0" # # Воспроизводство особей, в каждом последующем поколении, # #+ определяется следующими правилами # # 1) Каждая ячейка имеет "соседей" # #+ слева, справа, сверху, снизу и 4 по диагоналям. # # 123 # # 4*5 # # 678 # # # # 2) Если живая особь имеет 2 или 3 живых соседей, то она остается жить.# # 3) Если пустая ячейка имеет 3 живых соседей -- # #+ в ней "рождается" новая особь # SURVIVE=2 # BIRTH=3 # # 4) В любом другом случае, живая особь "погибает" # # ##################################################################### #




Начало  Назад  Вперед



Книжный магазин