В этой статье мы рассмотрим основы выражения последовательности в Bash.
Выражение последовательности Bash генерирует диапазон целых чисел или символов путем определения начальной и конечной точки диапазона. Обычно используется в сочетании с циклом for.
Выражение последовательности в Bash
Выражение последовательности принимает следующую форму:
{START..END[..INCREMENT]}
- Выражение начинается с открывающей скобки и заканчивается закрывающей скобкой.
- START и END могут быть либо положительными целыми числами, либо одиночными символами.
- Значения START и END являются обязательными и разделены двумя точками .. без пробелов между ними.
- Значение INCREMENT является необязательным. Если оно присутствует, то должно быть отделено от значения END двумя точками .. без пробелов между ними. Когда даны символы, выражение раскрывается в лексикографическом порядке.
- Выражение расширяется до каждого числа или символов между START и END, включая предоставленные значения.
- Неправильно сформированное выражение остается без изменений.
Вот выражение в действии:
echo {0..3}
Если нет, то значение INCREMENT по умолчанию равно 1:
0 1 2 3
Вы также можете использовать другие символы. В приведенном ниже примере печатается алфавит:
echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
Если значение START больше чем END, тогда выражение создаст диапазон, который уменьшается:
for i in {3..0} do echo "Номер: $i" done
Номер: 3 Номер: 2 Номер: 1 Номер: 0
INCREMENT используется как шаг между каждым сгенерированным элементом:
for i in {0..20..5} do echo "Номер: $i" done
Каждое сгенерированное число больше предыдущего на 5:
Номер: 0 Номер: 5 Номер: 10 Номер: 15 Номер: 20
При использовании целых чисел для генерации диапазона вы можете добавить в начало 0, чтобы у каждого числа была одинаковая длина. Для заполнения генерируются целые числа с префиксом ведущих нулей либо START и END с нулем:
for i in {00..3} do echo "Номер: $i" done
Номер: 00 Номер: 01 Номер: 02 Номер: 03
Выражение может иметь префикс или суффикс других символов:
echo A{00..3}B
A00B A01B A02B A03B
Если выражение построено неправильно, оно остается неизменным:
echo {0..}
0..
Вывод
Выражение последовательности в Bash позволяет генерировать диапазон целых чисел или символов.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.