1.bc 保留小数点两位 scale=3

2.awk -F '- ' '{print ($3-$7)/$2}' 以“-”作为分隔符,求出 第3列减第7列/第2列

在Shell中,我们可以用awk实现按列求和的功能,非常简单。看下面的例子:

3.简单的按列求和

[linux@test /tmp]$ cat test

123.52

125.54

126.36

[linux@test /tmp]$ awk '{sum += $1};END {print sum}' test

375.42

4.对符合某些条件的行,按列求和

[linux@test /tmp]$ cat test

aaa 123.52

bbb 125.54

aaa 123.52

aaa 123.52

ccc 126.36

4.1对文件test中 第一列为aaa的行求和

[linux@test /tmp]$ awk '/aaa/ {sum += $2};END {print sum}' test

赋值给变量

[root@CentOS ~]# k=`cat test|awk '{sum+=$5}END{print sum}'`

[root@CentOS ~]# echo $k

1857

cpu使用率

http://blog.chinaunix.net/uid-108431-id-3359082.html

sed -n '2,$p' test

ps -aux |awk '{print $3}'|uniq|sed -n '2,$p'|awk '{sum += $1};END {print sum}'

cpu 使用率统计

cpu_useage=`ps -aux |awk '{print $3}'|uniq|sed -n '2,$p'|awk '{sum += $1};END {print sum}'` 不打印第一行

cpu_useage=`ps -aux |awk '{print $3}'|sort|uniq|sed '$d'|grep -Ev '3...|8...'|awk '{sum += $1};END {print sum}'` cpu使用总和

core_nu=`cat /proc/cpuinfo |grep 'core id'|wc -l` core个数

echo "scale=3;$cpu_useage/$core_nu"|bc 平均使用率

ps -aux |awk '{print $3}'|sort|uniq|sed '$d'|grep -Ev '3...|8...'|sed -n '$p' cpu最高使用率

5.sed 不进文件编辑文件

sed -e '/aa/d' t sed -i 直接编译文件 sed -i 's/aa/bb/g' aa替换bb

6.emerge -1avqK gcc K 只是用本地编译

7.awk 'BEGIN { cmd="cp -i a1 a2"; print "n" |cmd; #cp多个文件不覆盖原有文件。print no