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