Shell逐行讀取文件的3種方法


方法1:while循環中執行效率最高,最常用的方法。

while read line
do
echo $line
done  < filename

注釋:這種方式在結束的時候需要執行文件,就好像是執行完的時候再把文件讀進去一樣。

 

方法2 : 管道法: cat $FILENAME | while read LINE

cat filename | while read line
do
echo $line
done

注釋:當遇見管道的時候管道左邊的命令的輸出會作為管道右邊命令的輸入然后被輸入出來。

 

方法3    for  循環。

for  line  in  `cat filename`
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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM