Linux awk脚本入门教程_Linux强大的文本分析工具实例


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

linux awk脚本入门教程_linux强大的文本分析工具实例

awk 是 Linux 下处理文本的利器,特别适合按行、按列提取、统计、过滤和格式化数据。它不像 sed 那样专注编辑,也不像 grep 只做匹配,而是以“字段为单位”做逻辑处理,写法简洁,上手快,一条命令常顶一个 Python 小脚本。

awk 的基本结构和运行方式

awk 的核心语法是:awk 'pattern {action}' file。其中 pattern 是匹配条件(可省略,默认每行都处理),action 是执行动作(如打印、计算、判断)。最常用的内置变量有:

  • $0:整行内容
  • $1, $2, …:第1、第2个字段(默认空格或制表符分隔)
  • NF:当前行字段总数
  • NR:当前处理的行号(从1开始)
  • FS:输入字段分隔符(默认空白);OFS:输出分隔符(默认空格)

常用实例:从日志和系统命令中快速提取信息

比如查看 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

用 BEGIN 和 END 做初始化与汇总

awk 在读取文件前执行 BEGIN 块,在读完所有行后执行 END 块,非常适合做统计汇总。

例如计算 /etc/passwd 中 shell 字段(第7列)的种类和数量:

Text-To-Pokemon口袋妖怪 Text-To-Pokemon口袋妖怪

输入文本生成自己的Pokemon,还有各种选项来定制自己的口袋妖怪

Text-To-Pokemon口袋妖怪 1487 查看详情 Text-To-Pokemon口袋妖怪

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

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.