Книга: Искусство программирования на языке сценариев командной оболочки
Пример 25-2. Форматирование стихотворения
Пример 25-2. Форматирование стихотворения
#!/bin/bash
# poem.sh
# Строки из стихотворения (одна строфа).
Line[1]="Мой дядя самых честных правил,"
Line[2]="Когда не в шутку занемог;"
Line[3]="Он уважать себя заставил,"
Line[4]="И лучше выдумать не мог."
Line[5]="Его пример другим наука..."
# Атрибуты.
Attrib[1]=" А.С. Пушкин"
Attrib[2]=""Евгений Онегин""
for index in 1 2 3 4 5 # Пять строк.
do
printf " %sn" "${Line[index]}"
done
for index in 1 2 # Две строки дополнительных атрибутов.
do
printf " %sn" "${Attrib[index]}"
done
exit 0
При работе с отдельными элементами массива можно использовать специфический синтаксис, даже стандартные команды и операторы Bash адаптированы для работы с массивами.
array=( ноль один два три четыре пять )
echo ${array[0]} # ноль
echo ${array:0} # ноль
# Подстановка параметра -- первого элемента.
echo ${array:1} # оль
# Подстановка параметра -- первого элемента,
#+ начиная с позиции #1 (со 2-го символа).
echo ${#array} # 4
# Длина первого элемента массива.
array2=( [0]="первый элемент" [1]="второй элемент" [3]="четвертый элемент" )
echo ${array2[0]} # первый элемент
echo ${array2[1]} # второй элемент
echo ${array2[2]} #
# Элемент неинициализирован, поэтому на экран ничего не выводится.
echo ${array2[3]} # четвертый элемент
При работе с массивами, некоторые встроенные команды Bash имеют несколько иной смысл. Например, unset -- удаляет отдельные элементы массива, или даже массив целиком.
- Пример 25-1. Простой массив
- Пример 25-2. Форматирование стихотворения
- Пример 25-3. Некоторые специфичные особенности массивов
- Пример 25-4. Пустые массивы и пустые элементы
- Пример 25-5. Копирование и конкатенация массивов
- Пример 25-6. Старая, добрая: "Пузырьковая" сортировка
- Пример 25-7. Вложенные массивы и косвенные ссылки
- Пример 25-8. Пример реализации алгоритма Решето Эратосфена
- Пример 25-9. Эмуляция структуры "СТЕК" ("первый вошел -- последний вышел")
- Пример 25-10. Исследование математических последовательностей
- Пример 25-11. Эмуляция массива с двумя измерениями
- Пример 25-4. Пустые массивы и пустые элементы
- Пример 25-1. Простой массив
- Пример установочного скрипта
- Пример из практики
- ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ
- Примеры получения статистики
- Пример применения метода «пять почему»
- Пример 12-8. Частота встречаемости отдельных слов
- 1.2.5. Пример программы
- Пример 17-10. Блочный комментарий
- Примеры
- 2. Пример создания базового отношения в записи на псевдокоде