Shell按行读取文件的方法有很多,下面写出三种方法:
写法一:
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
while read line
do
echo $line
done < filename(待读取的文件)
写法二:
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
cat filename(待读取的文件) | while read line
do
echo $line
done
写法三:
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
for line in `cat filename(待读取的文件)`
do
echo $line
done
注:for循环读行操作,与while读行的区别
while是完全按行读取,不管行内有多少段文字;
for是按行读取,如果行内文字有空格,则分开读取,即一次读取一个字符串。