zoukankan      html  css  js  c++  java
  • 如何使用read命令读取文件的每一行

    下面是一个简单的例子程序,展示如何用read命令读取文件的每一行,并且把它输出到控制台。gMULinux联盟
    如果没有输入文件,那么自身的shell文件将被使用gMULinux联盟
    #!/bin/shgMULinux联盟
    gMULinux联盟
    if [ $# -gt 1  ]; thengMULinux联盟
        echo "Usage: $0 [FileName]"gMULinux联盟
        exit 1gMULinux联盟
    elif [ $# -eq 1 ]; thengMULinux联盟
        MY_FILE=$1gMULinux联盟
    elsegMULinux联盟
        MY_FILE=$0gMULinux联盟
    figMULinux联盟
    gMULinux联盟
    if [ ! -f $MY_FILE ]; thengMULinux联盟
        echo "$MY_FILE does not exist!"gMULinux联盟
        exit 2gMULinux联盟
    figMULinux联盟
    gMULinux联盟
    MY_LINE_NO=1gMULinux联盟
    while read MY_LINEgMULinux联盟
    dogMULinux联盟
        printf "%5.5d: $MY_LINE/n" $MY_LINE_NOgMULinux联盟
        MY_LINE_NO=$((MY_LINE_NO+1))gMULinux联盟
    done < $MY_FILEgMULinux联盟
    gMULinux联盟
    gMULinux联盟
    gMULinux联盟
    ---------------------------------------------gMULinux联盟
    虽然这个东西看起来很简单,但是很多人有的时候会忘记它的正确使用gMULinux联盟
    while read MY_LINE < $MY_FILE gMULinux联盟
    do gMULinux联盟
    printf "%5.5d: $MY_LINE/n" $MY_LINE_NO gMULinux联盟
    MY_LINE_NO=$((MY_LINE_NO+1)) gMULinux联盟
    done gMULinux联盟
    这样的结果很显然,每次都读$MY_FILE的第一行,并且是一个死循环,永远不会退出。
    gMULinux联盟
    Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
  • 相关阅读:
    Cocos2d-x开发实例:使用Lambda 表达式
    Cocos2d-x实例:单点触摸事件
    Cocos2d-x中触摸事件
    Cocos2d-x开发实例介绍帧动画使用
    Cocos2d-x开发实例介绍特效演示
    c++ 类型转换
    boost的编译
    c/c++二级指针动态开辟内存
    基于RANSAC的点云面分割算法
    点到平面直线的距离和空间直线的距离
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6470611.html
Copyright © 2011-2022 走看看