如何使用read命令读取文件的每一行

如何使用read命令读取文件的每一行,第1张

下面是一个简单的例子程序,展示如何用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论坛讨论

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/2091320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-07-22
下一篇 2022-07-22

发表评论

登录后才能评论

评论列表(0条)

保存