请教shell for while 循环用来一行一行读取文件内容的区别
有一文本文件如下,每行有两个字符串/空格分开。
$ cat list.txt
Gly G
Ala A
Val V
Leu L
Ile I
Phe F
for line in `cat list.txt`
do
echo $line
done
得到结果如下:
Gly
G
Ala
A
Val
V
Leu
L
Ile
I
Phe
F
============
while read line
do
echo $line
done list.txt
运行得到结果如下:
Gly G
Ala A
Val V
Leu L
Ile I
Phe F
很奇怪为什么两个结果不一样?
能有朋友给解释一下么?
------解决方案--------------------
因为in操作符以任意空白字符作为分割, 而read line是以回车符作为分割。