方法1:while循环中执行效率最高,最常用的方法。
function while_read_line_bottom(){
while read line
do
echo $line
done < $FILENAME
}
注释:我习惯把这种方式叫做read釜底抽薪,因为这种方式在结束的时候需要执行文件,就好像是执行完的时候再把文件读进去一样。
方法2 : 重定向法;管道法: cat $FILENAME | while read LINE
function while_read_line(){
cat $FILENAME | while read line
do
echo $line
done
}
注释:我只所有把这种方式叫做管道法,相比大家应该可以看出来了吧。当遇见管道的时候管道左边的命令的输出会作为管道右边命令的输入然后被输入出来。
方法3: 文件描述符法
function while_read_line_fd(){
exec 3
exec 0< $FILENAME
while read line
do
echo $line
done
exec 0
}
注释: 这种方法分2步骤,第一,通过将所有内容重定向到文件描述符3来关闭文件描述符0.为此我们用了语法Exec 3
方法4 for循环。
function for_in_file(){