SW/리눅스

Linux : Bash : Sequence (Range) 명령어, 예제, 사용 방법

얇은생각 2022. 7. 1. 07:30
반응형

이 기사에서는 Bash의 시퀀스 표현 기본에 대해 설명합니다.

배시 시퀀스 식은 범위의 시작점과 끝점을 정의하여 정수 또는 문자 범위를 생성합니다. 일반적으로 루프의 경우 와 함께 사용됩니다.

 

 

Linux : Bash : Sequence (Range) 명령어, 예제, 사용 방법

 

 

배시 시퀀스 식

시퀀스 식은 다음과 같은 형식을 취합니다.

{START..END[..INCREMENT]}

 

 

식은 여는 중괄호로 시작하고 닫는 중괄호로 끝납니다.

START 및 END는 양의 정수 또는 단일 문자일 수 있습니다.

START 및 END 값은 필수 사항이며 점 두 개로 구분되며 공백이 없습니다.

증분 값은 선택 사항입니다. 점 두 개가 있는 경우 점 사이에 공백 없이 점 두 개가 있는 END 값과 분리되어야 합니다. 문자가 지정되면 식이 사전순으로 확장됩니다.

식은 제공된 값을 포함하여 START와 END 사이의 각 숫자 또는 문자로 확장됩니다.

잘못된 형식의 식은 변경되지 않은 상태로 유지됩니다.

실행 중인 표현은 다음과 같습니다.

echo {0..3}

# 0 1 2 3

 

 

인크리멘트가 제공되지 않을 경우 기본 인크리멘트는 1입니다.

다른 문자를 사용할 수도 있습니다. 아래 예제는 알파벳을 인쇄합니다.

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

 

 

인크리멘트가 주어지면 생성된 각 항목 사이의 단계로 사용됩니다.

for i in {0..20..5}
do
  echo "Number: $i"
done

# Number: 0
# Number: 5
# Number: 10
# Number: 15

 

 

생성된 각 숫자는 이전 숫자보다 5만큼 큽니다.

정수를 사용하여 범위를 생성할 때 선행 0을 추가하여 각 숫자의 길이가 같도록 할 수 있습니다. 생성된 정수를 선행 0 접두사로 패딩하려면 START 및 END를 0으로 입력합니다.

for i in {00..3}
do
  echo "Number: $i"
done

# Number: 00
# Number: 01
# Number: 02
# Number: 03

 

 

식에는 다른 문자와 접두사를 붙이거나 접미사를 붙일 수 있습니다.

echo A{00..3}B
Copy
A00B A01B A02B A03B

 

 

식이 올바르게 구성되지 않은 경우 변경되지 않은 상태로 유지됩니다.

echo {0..}

# 0..

 

 

배시 시퀀스 식을 사용하면 정수 또는 문자 범위를 생성할 수 있습니다.

반응형