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