【shell 小白】
有数据如下,文件名为debug.list,现在需要按行读取处理。
如果直接用下面的方式读取debug.list,
filename="debug.list"
while read LINE
do
echo $LINE
done < $filename
会出错,读取不完整,比如下图中的第二行的key的“13”被忽略了。【网上有很多解释这个现象的原因】
用下面的语句可以防止错误。
filename_url=./debug.list
url_line_len=$(wc -l < ${filename_url})
i=1
while [ $i -le $url_line_len ]
do
LINE_URL=`head -$i ${filename_url} | tail -1`
echo ${LINE_URL}
# do sth
i=`expr $i + 1`
done
朴实无华的写法,比较容易理解。