Shell按行读取文件的3种方法

匿名 (未验证) 提交于 2019-12-02 21:53:52

  Shell按行读取文件的方法有很多,常见的三种方法如下:

要读取的文件:

1 [root@mini05 20180930-2]# cat file.info  2 111 3 222 4 333 444 5 555 666

写法一:

 1 [root@mini05 20180930-2]# cat read1.sh   2 #!/bin/bash  3 ################ Version Info ##################  4 # Create Date: 2018-09-29  5 # Author:      zhang  6 # Mail:        zhang@xxx.com  7 # Version:     1.0  8 # Attention:   按行读取文件  9 ################################################ 10  11 # 加载环境变量 12 . /etc/profile 13 . ~/.bash_profile 14 . /etc/bashrc 15  16 # 脚本所在目录及脚本名称 17 script_dir=$( cd "$( dirname "$0"  )" && pwd ) 18 script_name=$(basename ${0}) 19  20 exec < ${script_dir}/file.info 21 while read line; do 22   echo "${line}" 23 done

写法二:

 1 [root@mini05 20180930-2]# cat read2.sh   2 #!/bin/bash  3 ################ Version Info ##################  4 # Create Date: 2018-09-29  5 # Author:      zhang  6 # Mail:        zhang@xxx.com  7 # Version:     1.0  8 # Attention:   按行读取文件  9 ################################################ 10  11 # 加载环境变量 12 . /etc/profile 13 . ~/.bash_profile 14 . /etc/bashrc 15  16 # 脚本所在目录及脚本名称 17 script_dir=$( cd "$( dirname "$0"  )" && pwd ) 18 script_name=$(basename ${0}) 19  20 cat ${script_dir}/file.info | while read line;do 21   echo "${line}" 22 done

写法三:

 1 [root@mini05 20180930-2]# cat read3.sh   2 #!/bin/bash  3 ################ Version Info ##################  4 # Create Date: 2018-09-29  5 # Author:      zhang  6 # Mail:        zhang@xxx.com  7 # Version:     1.0  8 # Attention:   按行读取文件  9 ################################################ 10  11 # 加载环境变量 12 . /etc/profile 13 . ~/.bash_profile 14 . /etc/bashrc 15  16 # 脚本所在目录及脚本名称 17 script_dir=$( cd "$( dirname "$0"  )" && pwd ) 18 script_name=$(basename ${0}) 19  20 while read line; do 21   echo "${line}" 22 done < ${script_dir}/file.info

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!