当参数是一句话时, 用cat就不能逐行读取文本了,cat只会将第一个域读取出来.
怎么办呢?
1. 使用while read
FILENAME=$1
count=0
cat $FILENAME | while read LINE
do
let count++
echo "$count $LINE"
done
2. 使用awk循环
awk '{kount++;print kount, $0}
END{print "\nTotal " kount " lines read"}' $FILENAME
3. 带参数的head
while [ $count -lt $Lines ]
do
let count++
LINE=`head -n $count $FILENAME | tail -1`
echo "$count $LINE"
done
语句的数量都差不多.选一个用得最熟练的使用吧.
阅读(1137) | 评论(0) | 转发(0) |