Как использовать выражение Sequence (Range) в Bash в Linux

12 set 2022 1 min di lettura
Как использовать выражение Sequence (Range) в Bash в Linux
Indice dei contenuti

Введение

Выражение последовательности Bash создает диапазон целых чисел или символов, определяя начальную и конечную точки диапазона. Обычно используется в сочетании с циклами for.

В этой статье мы рассмотрим основы выражения последовательности в Bash.

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

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

{START..END[..INCREMENT]}
  • Выражение начинается с открывающей скобки и заканчивается закрывающей скобкой.
  • START и END могут быть целыми положительными числами или отдельными символами.
  • Значения START и END обязательны и разделены двоеточием .. без пробела между ними.
  • Значение INCREMENT является необязательным, если оно присутствует, оно должно быть отделено от значения END двоеточием .. без пробелов между ними. Когда даны символы, выражение раскрывается в лексикографическом порядке.
  • Выражение расширяется до любого числа или символа между START и END, включая предоставленные значения.
  • Неверно сформированное выражение остается неизменным.

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

echo {0..3}

Если INCREMENT не указан, приращение по умолчанию равно 1:

0 1 2 3

Вы также можете использовать другие шрифты. Следующий пример печатает алфавит:

echo {a..z}
abcdefghijklmnopqrstu vwxyz

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

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.