Выражение последовательности Bash

Выражение последовательности принимает следующую форму:

{START..END[..INCREMENT]}

Вот выражение в действии:

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 позволяет генерировать диапазон целых чисел или символов.

,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *