方法1:while循環中執行效率最高,最常用的方法。
while read line
do
echo $line
done < filename
do
echo $line
done < filename
注釋:這種方式在結束的時候需要執行文件,就好像是執行完的時候再把文件讀進去一樣。
方法2 : 管道法: cat $FILENAME | while read LINE
cat filename | while read line
do
echo $line
done
do
echo $line
done
注釋:當遇見管道的時候管道左邊的命令的輸出會作為管道右邊命令的輸入然后被輸入出來。
方法3 for 循環。
for line in `cat filename`
do
echo ${line}
done
do
echo ${line}
done
注釋:這種方式是通過for循環的方式來讀取文件的內容相比大家很熟悉了,這里不多說。
在各個方法中,for語句效率最高,而在while循環中讀寫文件時,第一種方式執行效率最高。
for逐行讀和while逐行讀是有區別的,如:
$ cat t.txt
1111
2222
3333 4444 555
$ cat t.txt | while read line; do echo ${line}; done
1111
2222
3333 4444 555
$ for line in `cat t.txt`; do echo ${line}; done
1111
2222
3333
4444
555
1111
2222
3333 4444 555
$ cat t.txt | while read line; do echo ${line}; done
1111
2222
3333 4444 555
$ for line in `cat t.txt`; do echo ${line}; done
1111
2222
3333
4444
555