当前位置: 技术问答>linux和unix
请教shell for while 循环用来一行一行读取文件内容的区别
来源: 互联网 发布时间:2017-03-01
本文导语: 有一文本文件如下,每行有两个字符串/空格分开。 $ 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 $...
有一文本文件如下,每行有两个字符串/空格分开。
$ 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
很奇怪为什么两个结果不一样?
能有朋友给解释一下么?
$ 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是以回车符作为分割。