shell编程中while与for的区别及效率比较
一、for循环:语法结构:
1、for 变量 in seq字符串
2、for 变量 in `command`" "
3、for 变量 in "$@"或“$*”
4、for((赋值;条件;运算语句))
说明:for是用空格字符分割,每次for…in 读取时候,就会按顺序将读到值,给前面的变量。
echo "####################################"
for i in $(seq 3 10); do
echo $i;
done;
echo "####################################"
for i in a b c d e; do
echo $i;
done;:
echo "####################################"
for i in $@; do
echo $i;
done;
echo "####################################"
for i in $*; do
echo $i;
done;
echo "####################################"
for((i=1;i $TIMEFILE
测试结果如下:
1、100000行的文件:
method 1:
function while_read_bottm
real 0m3.035s
user 0m2.535s
sys 0m0.497s
method 2:
function while_read_line
real 0m3.508s
user 0m2.517s
sys 0m0.981s
method 3:
function while_read_line_fd
real 0m3.046s
user 0m2.450s
sys 0m0.582s
method 4:
functionfor_in_file
real 0m4.256s
user 0m3.308s
sys 0m0.940s
由上可见,在while循环中读写文件时,效率最高。
while read LINE
do
echo $LINE
done < $FILENAME
页:
[1]