我想比较一下运行Linux(Centos)的服务器–cpu。
我想把所有的bogomips的总和拿来比较,但是只能拿出这个丑陋的shell线:
echo 0 `cat /proc/cpuinfo | grep bogomips | cut -d ":" -f 2 | tr " " "+" `| bc
(0是必要的,因为否则该行以+开始并且不适合bc)
有没有更好的方法来做到这一点?
awk -F: '/bogomips/ {sum+=$2} END {print sum}' /proc/cpuinfo
你很好(78字节),它可以缩短一小部分,并链接到一个单一的命令(如Perl)
perl -ne's/mips\s*:\s*(\S+)/$i+=$1/eg; END{print$i}' /proc/cpuinfo
舍入是直截了当的:
perl -ne's/mips\s*:\s*(\S+)/$i+=$1/eg; END{print int($i+0.5)}' /proc/cpuinfo
或者在':'(-F)上使用autosplit选项
perl -F: -ane '$i+=$F[1] if $F[0]=~/mips/; END{print $i}' /proc/cpuinfo
问候
RBO
sed -ne ' /^bogomips/ { s/^bogomips[ \t]\+:[ ]\+\([0-9.]\+\)/\1+/ H } $ { g s/\n//g s/+$// p } d ' /proc/cpuinfo \ | bc
无小数点
echo $[`sed -ne ' /^bogomips/ { s/^bogomips[ \t]\+:[ ]\+\([0-9]\+\).*/\1+/ H } $ { g s/\n//g s/+$// p } d ' /proc/cpuinfo`]