본문 바로가기
리눅스/Bash

[bash] 문자열 분할(split) 하여 루프문 처리

by hs_seo 2018. 6. 19.

Bash 스크립트에서는 공백(' '), 개행문자열('\n')을 이용하여 문자열을 분할하여 루프문을 처리할 수 있다.


IFS 는 입력필드 구분자를 말한다.

이 값을 이용하여 루프문을 처리할 수 있다.



#!/bin/bash


vString="A-111-DK"


IFS='-' read -ra vStr <<< "$vString"


echo "${vStr[0]}"

echo "${vStr[1]}"

echo "${vStr[2]}"



[실행결과]

$ ./test.sh 

A

111

DK


#!/bin/bash

vArrayTemp="John 1 C
David 2 B
Wick 3 A"
IFS=$'\n'
vArray=($vArrayTemp)
IFS=$' '

for vItem in "${vArray[@]}"
do
  echo "------"
  arr=($vItem)
  echo "${arr[0]}"
  echo "${arr[1]}"
  echo "${arr[2]}"
  echo "------"
done


<실행결과>

------
John
1
C
------
------
David
2
B
------
------
Wick
3
A
------



반응형