Shell按行读取文件的3种方法
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