awk一次性分别赋值多个value给多个变量,速度对比


方法

#方法1: 
echo "apple banana orange" | awk '{print $1,$2,$3}' | while read a b c
do
   echo  a=$a b=$b c=$c
done


#方法2: 
memory=`free -m | grep Mem`
read total used buffers cached<<< `echo "$memory" |awk '{print $2,$3,$6,$7}'`
echo "total:$total used:$used buffers:$buffers cached:$cached"

性能速度对比

echo "apple banana orange" | awk '{print $1,$2,$3}' | while read a b c
do
   echo  a=$a b=$b c=$c
done

TEST01(){
	count=0
	while [[ $count < 100 ]];do
		memory=`free -m | grep Mem`
		read total used buffers cached<<< `echo "$memory" |awk '{print $2,$3,$6,$7}'`
		count=`echo "$count + 1" | bc`
	done
}

TEST02(){
	count=0
	while [[ $count < 100 ]];do
		total=`echo "$memory" |awk '{print $2}'`
		used=`echo "$memory" |awk '{print $3}'`
		buffers=`echo "$memory" |awk '{print $6}'`
		cached=`echo "$memory" |awk '{print $7}'`
		count=`echo "$count + 1" | bc`
	done

}

echo "全部一次性:"
time TEST01
echo "不是一次性:"
time TEST02
# echo "total:$total used:$used buffers:$buffers cached:$cached"

结论: 全部一次性 更快一点


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM