[shell script] read : 파일에서 데이터 입력 받기

HYEOB KIM·2022년 4월 25일
0

Shell

목록 보기
44/71

파일의 내용을 read를 이용해 입력 받을 수 있습니다.

test 파일의 내용을 한 줄씩 입력 받아 출력해봅시다.

$ cat test
The quick brown dog jumps over the lazy fox.
This is a test, this is only a test.
        0 Romeo, Romeo! Wherefore art thou Romeo?

$ cat test1
#!/bin/bash
count=1
cat test | while read line
do
        echo "Line $count: $line"
        count=$[ $count + 1 ]
done

$ ./test1
Line 1: The quick brown dog jumps over the lazy fox.
Line 2: This is a test, this is only a test.
Line 3: 0 Romeo, Romeo! Wherefore art thou Romeo?

코드리뷰

  • cat test로 출력된 파일 내용을 |read의 파라미터로 보냅니다. 그럼 linecat test 내용이 들어가게 됩니다.

forIFS를 이용하는 방법도 있습니다.

$ cat test1
#!/bin/bash
count=1
IFS=$'\n'
for line in $(cat test)
do
        echo "Line $count: $line"
        count=$[ $count + 1 ]
done

$ ./test1
Line 1: The quick brown dog jumps over the lazy fox.
Line 2: This is a test, this is only a test.
Line 3:         0 Romeo, Romeo! Wherefore art thou Romeo?

IFS를 이용하면 test의 내용을 다양한 기준(단어, 줄바꿈 등)으로 구분해 분리할 수 있습니다.

profile
Devops Engineer

0개의 댓글