您的位置:首页 > 运维架构 > Shell

shell 按行读取文件的问题

2017-11-03 12:31 148 查看
有个需求需要在shell中按行读取一个文件,文件类似于

11111    222222    3333
4444  5555
6666  7777  8888 999


使用for in 语句读的时候,发现$line中的数据是按空格来划分的,并不是完整的一样

for line in $(<test.log)
do
echo $line
done


读出来的结果:

11111

222222

3333

4444

5555

6666

7777

8888

999

而使用while 语句读出来的记过就是正常的

while read line
do
echo $line
done < test.log


11111 222222 3333

4444 5555

6666 7777 8888 999

这个是什么原因呢,有没有前辈帮忙解释一下?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell 读文件-按行