如何使用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论坛讨论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值