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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于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最大的设计失误
· 单元测试从入门到精通