개발 환경 및 프로젝트 관리/Linux 개념

Brace Expansion (중괄호 확장)

Data Jun 2025. 10. 9. 16:47

리눅스 Bash에서 brace expansion은 중괄호 {}를 이용해
반복되는 패턴의 문자열을 자동으로 생성하는 기능입니다.

 

임의의 문자열 생성

$ echo log{1..3}.txt

출력 결과:

log1.txt log2.txt log3.txt

➡️ {1..3} 부분이 1부터 3까지 확장되어
log1.txt, log2.txt, log3.txt 형태로 자동 변환됩니다.

 

for문에서 활용하기

Brace 확장은 반복문에서도 매우 유용하게 쓰입니다.

# test.sh
for i in {1..3}
do
    echo $i
done

실행 결과:

1
2
3

이렇게 단순 반복문도 쉽게 구성할 수 있습니다.

 

문자열 리스트 확장

숫자뿐 아니라 문자열 리스트도 중괄호로 묶어 확장할 수 있습니다.

#!/bin/bash

for i in log-{daemon,kernel}.txt
do
    echo "index $i"
done

출력 결과:

index log-daemon.txt
index log-kernel.txt

➡️ {daemon,kernel} 부분이 확장되어
log-daemon.txt, log-kernel.txt 두 가지 문자열이 생성됩니다.

이 경우 log-(접두사, prefix)와 .txt(접미사, suffix)는 고정된 부분이고, 리스트 내의 값(daemon, kernel)만 바뀌며 문자열이 확장됩니다.

 

정리하면

형태 설명 예시 결과
{1..3} 숫자 범위 echo file{1..3} file1 file2 file3
{A..C} 문자 범위 echo {A..C} A B C
{a,b,c} 문자열 목록 echo {a,b,c} a b c

 

  • Brace Expansion은 반복 문자열을 효율적으로 생성하는 기능
  • for 반복문과 함께 사용하면 스크립트 간결화에 효과적
  • 숫자, 문자, 문자열 목록 모두 확장 가능

Brace Expansion은 중괄호 {}로 문자열을 자동 확장해주는 Bash의 강력한 기능으로,
스크립트 자동화에 필수적으로 활용됩니다.