파일의 내용을
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
의 파라미터로 보냅니다. 그럼line
에cat test
내용이 들어가게 됩니다.
for
와 IFS
를 이용하는 방법도 있습니다.
$ 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
의 내용을 다양한 기준(단어, 줄바꿈 등)으로 구분해 분리할 수 있습니다.