zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Java IO学习3:字节字符转换流
    Java IO学习8:System类对IO的支持
    设计模式(一)单例模式
    复制excel下拉框的数值
    iis7.5+win2008 出现 HTTP Error 503. The service is unavailable.
    php显示当前数据库名称
    解决secureCRT显示中文为乱码
    Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e23 ' [Microsoft][ODBC SQL
    jquery textSlider 文字滚动
    donetcms与Discuz整合的webconfig设置
  • 原文地址:https://www.cnblogs.com/zhanglianghhh/p/9732532.html
Copyright © 2011-2022 走看看