Search

개행 단위 문자열 처리

Tags
unix
line
string
newline
here-string
IFS
Created
2024/05/02 16:29
Created time
2024/05/02 07:29
category
unix

개요

쉘 스크립트를 작성하다보면 여러 개행으로 구성된 문자열을 처리할 일이 있어서, 개행 단위로 문자열들을 구분하여 각각 처리하고 싶은 경우 어떻게 처리하는지 탐색

방법

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으로 문자열을 표준 입력으로 전달하는 역할