반응형
Linux Bash에서는 배열과 리스트를 다루는 작업이 빈번합니다. 특히, 반복문과 결합하여 배열의 모든 요소를 순회하거나 처리해야 하는 경우가 많습니다. 이 글에서는 Bash에서 배열 및 리스트를 순회하는 다양한 방법과 실제 예제를 소개합니다.
1. Bash 배열 소개
Bash에서 배열은 여러 개의 값을 저장하는 데 사용됩니다. 배열은 declare -a
명령어로 선언하거나 단순히 값을 대입하여 사용할 수 있습니다. 배열의 인덱스는 0부터 시작합니다.
배열 선언 및 초기화
# 배열 선언
declare -a my_array
# 배열 초기화
my_array=("Apple" "Banana" "Cherry")
# 개별 요소 접근
echo "첫 번째 요소: ${my_array[0]}"
echo "두 번째 요소: ${my_array[1]}"
배열의 모든 요소 출력
# 모든 요소 출력
echo "배열의 모든 요소: ${my_array[@]}"
2. 배열 순회 방법
Bash에서 배열을 순회하는 방법은 다양합니다. 여기에서는 대표적인 3가지 방법을 살펴보겠습니다.
2.1 for
루프 사용
for
루프를 사용하여 배열의 모든 요소를 순회할 수 있습니다.
예제
#!/bin/bash
# 배열 초기화
fruits=("Apple" "Banana" "Cherry")
# for 루프를 사용한 배열 순회
for fruit in "${fruits[@]}"; do
echo "과일: $fruit"
done
출력:
과일: Apple
과일: Banana
과일: Cherry
2.2 인덱스를 사용한 순회
배열의 인덱스를 직접 참조하여 순회할 수도 있습니다.
예제
#!/bin/bash
# 배열 초기화
numbers=(10 20 30 40)
# 배열 크기 구하기
length=${#numbers[@]}
# 인덱스를 사용한 배열 순회
for ((i = 0; i < length; i++)); do
echo "인덱스 $i: ${numbers[i]}"
done
출력:
인덱스 0: 10
인덱스 1: 20
인덱스 2: 30
인덱스 3: 40
2.3 while
루프와 배열 순회
while
루프와 인덱스를 조합하여 배열을 순회할 수도 있습니다.
예제
#!/bin/bash
# 배열 초기화
colors=("Red" "Green" "Blue")
# 인덱스 초기화
index=0
# while 루프를 사용한 배열 순회
while [ $index -lt ${#colors[@]} ]; do
echo "색상 $index: ${colors[index]}"
((index++))
done
출력:
색상 0: Red
색상 1: Green
색상 2: Blue
3. 리스트 순회
배열과 달리, 리스트는 주로 문자열로 표현되며, 공백이나 다른 구분자로 구분됩니다. 리스트를 순회하려면 for
루프를 주로 사용합니다.
리스트 순회 기본
#!/bin/bash
# 리스트 선언
list="one two three four"
# 리스트 순회
for item in $list; do
echo "항목: $item"
done
출력:
항목: one
항목: two
항목: three
항목: four
IFS(Internal Field Separator) 변경
구분자가 공백이 아닌 경우, IFS를 변경하여 리스트를 처리할 수 있습니다.
예제
#!/bin/bash
# 리스트 선언
csv_list="apple,banana,cherry"
# IFS를 콤마로 변경
IFS="," read -r -a array <<< "$csv_list"
# 배열 순회
for item in "${array[@]}"; do
echo "항목: $item"
done
출력:
항목: apple
항목: banana
항목: cherry
4. 실전 예제: 파일 이름 처리
배열과 리스트 순회는 파일 이름이나 디렉토리 내용을 처리하는 데 자주 사용됩니다.
디렉토리 내 파일 목록 순회
#!/bin/bash
# 디렉토리 내 파일 이름 가져오기
files=(/path/to/directory/*)
# 파일 목록 순회
for file in "${files[@]}"; do
echo "파일 이름: $file"
done
출력 예시:
파일 이름: /path/to/directory/file1.txt
파일 이름: /path/to/directory/file2.txt
파일 이름: /path/to/directory/file3.txt
5. 마무리
Bash에서 배열 및 리스트를 순회하는 방법은 매우 유용하며, 다양한 작업에 응용할 수 있습니다. 배열을 선언하고 요소를 순회하는 방법을 익히면 Bash 스크립트 작성 시 생산성을 크게 높일 수 있습니다. 실습을 통해 배열 순회에 익숙해지길 바랍니다!
반응형
'Linux Bash shell script' 카테고리의 다른 글
Bash Shell Script 매개변수와 반환값 처리 (0) | 2025.01.26 |
---|---|
Linux Bash Shell Script 함수 정의와 호출 (0) | 2025.01.25 |
Bash Shell Script 반복문(for, while, until) 이해하기 (0) | 2025.01.23 |
Linux Bash Shell Script 파일과 문자열 비교 (0) | 2025.01.22 |
Linux Bash Shell Script 조건문 [ if-else, elif ] 사용법 (0) | 2025.01.21 |