개요
쉘 스크립트를 작성하다보면 여러 개행으로 구성된 문자열을 처리할 일이 있어서, 개행 단위로 문자열들을 구분하여 각각 처리하고 싶은 경우 어떻게 처리하는지 탐색
방법
while, read, here-string으로 간단히 구성 가능
string="\t...\n\t...\n\t...\n\t...";
while IFS= read -r line; do
echo ${line}
done <<< "${string}"
Bash
복사
** IFS는 Internal Field Separator로 별도 지정하지 않아 whitespace 단위로 처리를 강제
** -r은 read 수행 시 백슬래시를 Escape로 처리하지 않도록하여 백슬래시가 적절히 동작하도록 만듦
** <<< 은 here-string으로 문자열을 표준 입력으로 전달하는 역할