linux shell逐行處理文本的12種方法 方法1、cat $filename|while read line 例如:function while_read_line { cat $filename|while read line do www.2cto.com echo "$line" : #這行什麼都不做,傳回值0 done }
方法2:while read $filename from bottom 例如:function while_read_line_bottom { while read line do echo "$line" : done < $filename }
方法3:while_line_line_bottom 例如: function while_line_line_bottom { www.2cto.com while line line #用line命令替換read do echo "$line" : done < $filename }
方法4:cat $filename|while line=`line` 例如:function cat_while_line_line { cat $filename | while line=`line` do echo "$line" : done }
方法5:cat $filename |while line line 例如:function while_line_LINE { www.2cto.com cat $filename |while line line do echo "$line" : done }
方法6:while line=`line`from the bottom 例如: function while_line_line_bottom { while line=`line` do echo "$line" : done < $filename }
方法7:cat $filename |while line=$(line) 例如: function while_line_line_cm { cat $filename |while line=$(line) do echo "$line" : done }
方法8:while line=$(line)from the bottom 例如:function while_line_line_bottom_cm { while line=$(line) do echo "$line" done<$filename }
方法9:while read line 例如: function while_read_line_fd { www.2cto.com exec 3<&0 #將所有內容重新導向到新檔案描述符3來關閉檔案描述符0 exec 0<$filename #標準輸入檔案描述符為0,標準輸出檔案描述符為1,標準錯誤為2. while read line #3以後就可以配給普通檔案。 do echo "$line" done exec 0<&3 }
方法10:while line=`line` 例如: function while_line_line_fd { exec 3<&0 exec 0<$filename while line=`line` do echo "$line" done exec 0<&3 }
方法11:while line=$(line) 例如: function while_line_line_cm_fd { exec 3<&0 exec 0<$filename while line=$(line) do www.2cto.com print "$line" done exec 0<&3 }
方法12:while line line 例如:function while_line_line_fd { exec 3<&0 exec 0<$filename while line line do echo " $line" done exec 0<&3 }