Shell腳本中讀取文件每一行的方法總結


這篇文章主要使用Shell腳本循環讀取文件每一行內容的方法總結;
1.使用while循環,效率最高,最常用的方法

while read -r line
do
   echo $line
done < filename

2.利用for循環的方法

for line in `cat filename`
do
 echo $line
done

for line in $(cat filename)
do
 echo $line
done

While循環中read命令從標准輸入中讀取一行,並將內容保存到變量line中。在這里,-r選項保證讀入的內容是原始的內容,意味着反斜杠轉義的行為不會發生。輸入重定向操作符< file打開並讀取文件file,然后將它作為read命令的標准輸入。
3.重定向管道法

cat filename | while read line
do
    echo $line
done

4.文件描述符法

exec 3<&0
exec 0< $FILENAME
while read LINE
do
  echo $LINE
done
exec 0<&3

此方法分為兩步,第一,通過將所有內容重定向到文件描述符3來關閉文件描述符0.第二步將輸入文件放送到文件描述符0,即標准輸入。


免責聲明!

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



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