В этой статье мы рассмотрим основы выражения последовательности в 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 "Number: $i"
done
Number: 3
Number: 2
Number: 1
Number: 0
Когда дан INCREMENT
, он используется как шаг между каждым сгенерированным элементом:
for i in {0..20..5}
do
echo "Number: $i"
done
Каждое сгенерированное число больше предыдущего на 5:
Number: 0
Number: 5
Number: 10
Number: 15
Number: 20
При использовании целых чисел для генерации диапазона вы можете добавить начальный 0
чтобы заставить каждое число иметь одинаковую длину. Чтобы дополнить сгенерированные целые числа начальным префиксом нулей либо START
либо END
нулем:
for i in {00..3}
do
echo "Number: $i"
done
Number: 00
Number: 01
Number: 02
Number: 03
Выражение может иметь префикс или суффикс с другими символами:
echo A{00..3}B
A00B A01B A02B A03B
Если выражение построено некорректно, его оставляем без изменений:
echo {0..}
0..
Выводы
Выражение последовательности Bash позволяет генерировать диапазон целых чисел или символов.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.