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

 

posted @   小雨淅淅o0  阅读(269)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示