awk是Linux下以字段为单位处理文本的利器,语法为awk 'pattern {action}' file,支持内置变量、BEGIN/END块、条件判断和字符串操作,常用于日志分析、系统信息提取与统计。

awk 是 Linux 下处理文本的利器,特别适合按行、按列提取、统计、过滤和格式化数据。它不像 sed 那样专注编辑,也不像 grep 只做匹配,而是以“字段为单位”做逻辑处理,写法简洁,上手快,一条命令常顶一个 Python 小脚本。
awk 的核心语法是:awk 'pattern {action}' file。其中 pattern 是匹配条件(可省略,默认每行都处理),action 是执行动作(如打印、计算、判断)。最常用的内置变量有:
:整行内容比如查看 df -h 输出中使用率超过 80% 的分区:
df -h | awk '$5+0 > 80 {print $1, $5}'
说明:$5 是“已用百分比”,加 0 是强制转成数字(避免带 % 符号时字符串比较出错);{print $1, $5} 输出设备名和百分比。
再比如统计 nginx 日志中访问次数最多的前 3 个 IP:
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -3
或者直接用 awk 统计(更高效):
awk '{ip[$1]++} END {for (i in ip) print ip[i], i}' access.log | sort -nr | head -3
awk 在读取文件前执行 BEGIN 块,在读完所有行后执行 END 块,非常适合做统计汇总。
例如计算 /etc/passwd 中 shell 字段(第7列)的种类和数量:
Text-To-Pokemon口袋妖怪
输入文本生成自己的Pokemon,还有各种选项来定制自己的口袋妖怪
1487
查看详情
awk -F: 'BEGIN {print "Shell\tCount"} {sh[$7]++} END {for (s in sh) print s, sh[s]}' /etc/passwd | sort -k2nr
这里 -F: 指定冒号为分隔符;BEGIN 打印表头;END 遍历数组并输出结果。
awk 支持 if、else、正则匹配(~ 和 !~)、substr、length、gsub 等函数。
例如:只打印 /etc/fstab 中非注释、非空行,且第3列是 ext4 的设备:
awk '$1 !~ /^#/ && NF > 0 && $3 == "ext4" {print $1, $2}' /etc/fstab
又如把某列小写转大写:
awk '{print toupper($2)}' data.txt
替换字段中的某个单词(类似 sed):
awk '{gsub(/old/, "new", $3); print}' file.txt
基本上就这些。awk 不需要编译,即写即跑,配合管道几乎能覆盖 80% 的日常文本分析需求。写多了你会发现,它不是“替代脚本语言”,而是“让脚本语言变得不必要的那个工具”。
以上就是Linux awk脚本入门教程_Linux强大的文本分析工具实例的详细内容,更多请关注其它相关文章!
# 不需要
# 普陀区seo网站关键词优化
# 铜陵互联网营销推广公司
# 网站课程怎么推广的好
# 天津关键词排名优化方法
# 潜江app推广网站
# 电子商务沙盘商品SEO
# 影视网站怎么运营与推广
# 关键词没排名怎么刷单
# 旅游景点网站怎么建设
# 页面渲染seo
# 相关文章
# 遍历
# linux
# 提高效率
# 更易
# 中非
# 分隔符
# 行号
# 不像
# 自己的
# 工具
# access
# nginx
# python
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
虫虫漫画排行榜单入口_虫虫漫画编辑推荐入口
windows10怎么开启wsl_windows10安装linux子系统教程
高效调试PHP大型嵌套数组:JSON序列化与可视化工具实践
《深林》冬季章节图文攻略
mysql镜像配置如何设置用户权限组_mysql镜像配置用户组与权限分级管理方法
之了课堂app做题入口
《KARDS》冬季扩展包“国土阵线”上线!全新“协力”机制改变战场格局
《随手记》关闭首页消息推送方法
126手机126邮箱登录_126邮箱手机登录入口官网
J*aScript模块加载器_RequireJS原理分析
《桃源记2》资源采集攻略
如何在CSS中使用absolute实现登录弹窗居中_transform translate结合
C++ switch case字符串_C++如何实现字符串switch匹配
《海豚家》注销账号方法
微信客户端怎么查看二维码_微信客户端个人二维码查看方法
Bootstrap 5导航栏折叠功能失效:数据属性迁移指南
Go App Engine 项目结构与包管理深度指南
Python自动化抓取GBGB赛狗比赛结果:日期范围与赛道筛选教程
Python高效统计字典嵌套列表值在目标列表中的出现次数
123平台官方登录入口 123邮箱网页端在线沟通工具
windows server2019显卡驱动怎么安装_winserver2019显卡驱动安装与远程桌面优化
铁路12306官网登录入口 铁路12306在线购票官方平台
PDF如何批量加注释_PDF多文件批注高亮操作教程
Win11怎么开启HDR_Windows 11显示器画质增强设置
mysql触发器如何编写_mysql触发器编写规范与代码示例讲解
抖音号升级成企业资质怎么弄?有什么好处?
iPhone 13 Pro Max如何设置桌面小组件_iPhone 13 Pro Max小组件添加指南
管理打开的编辑器:固定、分组和关闭技巧
PHP与SQL实践:高效实现数据复制与特定列值修改
三角洲行动2025年9月10日摩斯密码分享
263企业邮箱如何设置邮件转发功能
Win10如何关闭开机锁屏界面_Windows10跳过锁屏直接登录设置
12306售票时间最新规定 | 网上订票和车站窗口时间一样吗
如何用mysql开发用户注册登录功能_mysql用户注册登录数据库设计
圆通快递官方入口不需要登录 在线查询入口快速查询
优化Leaflet弹出层图片显示:条件渲染策略
芒果TV官网登录入口 芒果TV官方网站登录入口
J*a中为什么强调组合优于继承_组合模式带来的灵活性与可维护性解析
申通快递物流信息查询 申通快递包裹状态追踪
学习通网页版课程打不开_课程无法访问时的解决方法
苹果手机怎么合并照片_苹果手机合并多张照片的操作方法
C++如何将字符串转换为大写或小写_C++ transform函数的使用技巧
店铺如何做视频号推广?做视频号推广有用吗?
VS Code快捷键when上下文子句的妙用
win11关机几秒又自己开机 Win11关机自动重启问题修复
VS Code中的Tailwind CSS IntelliSense插件使用技巧
天堂漫画网页版在线阅读 天堂漫画手机版入口
windows10怎么关闭自动安装应用_windows10禁止推广应用下载
J*aScript 数值去小数位处理:多种方法与实践
热血江湖归来医师加点攻略
2025-12-12
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。