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
  • 相关阅读:
    一款纯css3实现的响应式导航
    一款基于TweenMax.js的网页幻灯片
    4款基于jquery的列表图标动画切换特效
    随着鼠标移动的文字阴影
    一款纯css实现的垂直时间线效果
    一款基于jquery的侧边栏导航
    (转) 共享个很棒的vim配置
    [Leetcode] String to Integer (atoi)
    dia无法输入中文?
    [Leetcode] Sum Root to Leaf Numbers
  • 原文地址:https://www.cnblogs.com/zhanglianghhh/p/9732532.html
Copyright © 2011-2022 走看看