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
  • 相关阅读:
    XPath中的text()和string()区别(转)
    (转)Ubuntu 16.04 安裝Docker(PS:本文适用amd64位的ubuntu系统)
    python 爬取世纪佳缘,经过js渲染过的网页的爬取
    Python中的join()函数的用法
    Ubuntu下修改ubuntu源,完成Redis Desktop Manager的安装
    Ubuntu16.04安装Redis
    Scrapy爬虫实例教程(二)---数据存入MySQL
    Ubuntu16.04安装mongodb 及使用
    关闭和启动网卡
    网络之端口的作用
  • 原文地址:https://www.cnblogs.com/zhanglianghhh/p/9732532.html
Copyright © 2011-2022 走看看