sed、grep、awk的实用范例与统计shell
1.统计当前目录下所有文件的大小之和:
du -ch ./ 不仅能统计文件,还能统计文件夹的大小,这是ll -h所不能的
2.根据一列值的大小,打印另一列:
docker images | grep -v ID | grep months | awk '$4 >= 15 {print $1}'
3.统计一列数中的最大值:
cat test.sh | awk -F "[-]" 'BEGIN {max = 0} {if ($4+0 > max+0) max=$4} END {print max}'
BEGIN表示输入开始,需要给变量赋初始值,不用BEGIN则不用赋初始值
4.资源统计优化:
echo `ps aux | awk '{a+=$6}END{print a/1024/1024}'`
5.一个标准的awk批量输出命令的用法示例:
docker ps -a | grep k8s | grep Exited | awk 'NR >= 2 {print "docker start",$1}'
6.统计一列数中的平均值:
cat newtest | awk 'NR>1' | awk -F "[||]" 'BEGIN{sum=0}{sum+=$3}END{print sum/NR}'
使用||作为分隔符,所以是$3,如果是空格,就应该是$2


浙公网安备 33010602011771号