如何用Shell逐行讀取檔案

2021-05-24 00:05:26 字數 747 閱讀 1674

在學習linux shell scripts時,乙個最常見的錯誤就是用for(for line in $(cat file.txt) do …)迴圈逐行讀取檔案。下面的例子可以看出這樣做的結果。

檔案file.txt內容:

cat file.txt

this is the row no 1;

this is the row no 2;

this is the row no 3.

for迴圈的例子:

for line in $(cat file.txt); do echo $line; done

this

is the

row

no 1;

this

is the

row

no 2;

顯然這並不是我們想要的效果。解決方案是採用帶內部讀取的while迴圈。

while迴圈是用來逐行讀取檔案最恰當且最簡單的方法:

while read line; do echo $line; done < file.txt

this is the row no 1;

this is the row no 2;

this is the row no 3.

如何用Shell逐行讀取檔案

在學習linux shell scripts時,乙個最常見的錯誤就是用for for line in cat file.txt do 迴圈逐行讀取檔案。下面的例子可以看出這樣做的結果。檔案file.txt內容 cat file.txt this is the row no 1 this is the...

Shell指令碼逐行讀取檔案

方法1 while迴圈中執行效率最高,最常用的方法。while read line doecho line done filename 注釋 這種方式在結束的時候需要執行檔案,就好像是執行完的時候再把檔案讀進去一樣。方法2 管道法 cat filename while read line cat f...

shell 逐行讀取檔案的內容

說明 shell 逐行讀取文字檔案內容。示例 讀取 etc passwd 檔案內容。1 python view plain copy bin bash ifs n 0 forline in cat etc passwd do n expr n 1 echo e n t line done 2 pyt...