当前位置: 首页 > news >正文

linux awk使用

1.概述

awk是 Linux 系统中一个非常强大的文本处理工具,常被称为“三剑客”之一(另外两个是grepsed)。它主要用于从文本文件中提取、过滤和处理数据,尤其适合处理结构化数据,例如日志文件、CSV 文件等。

2.基本语法

awk [选项] '模式或条件 { 编辑指令 }' 文件

其中:

  • 选项‌:如-F指定字段分隔符,-v定义变量等。
  • 模式或条件‌:用于匹配输入行的规则,例如正则表达式。
  • 编辑指令‌:在匹配到行后要执行的操作,通常用大括号{}包裹。
  • 文件‌:要处理的输入文件。

3. 常见用法示例

1. 打印文件中的所有内容

awk '{print}' file.txt

awk '{print $0}' file.txt

2.指定字段分隔符

默认情况下,awk使用空格或制表符作为字段分隔符。如果文件使用逗号分隔,可以使用-F选项指定分隔符:

awk -F',' '{print $1, $2}' file.csv

3.提取特定字段

假设有一个文件,每行有多个字段,例如:

张三 25 工程师
李四 30 经理

你可以只打印第一列(姓名):

awk '{print $1}' file.txt

要打印第二列和第三列:

awk '{print $2, $3}' file.txt

4.条件匹配

可以使用模式匹配来筛选特定行。例如,只打印年龄大于 30 的行:

awk '$2 > 30 {print $0}' file.txt

使用 BEGIN 和 END

awk 'BEGIN { print "开始处理文件" } { print $0 } END { print "处理完成" }' file.txt

4.内置变量

awk提供了一些常用的内置变量,帮助处理数据:

  • $0:整行内容。
  • $1,$2, ...,$n:第 1、2、...、n 个字段。
  • NF:当前行的字段数。
  • NR:当前记录(行)号。
  • FS:输入字段分隔符,默认为空格。
  • OFS:输出字段分隔符,默认为空格。

示例

假设有一个文件data.txt内容如下:

1:Small house:Vermont:100 sqm
2:Large house:San Diego:300 sqm
3:Apartment:New York:70 sqm
4:Houseboat:Lond:Seattle:150 sqm


可以使用如下命令打印前两个字段:

awk -F':' '{print $1, $2}' data.txt

5.总结

awk是一种功能强大的文本处理工具,适用于数据分析、日志解析、格式化输出等多种场景。它支持复杂的模式匹配、条件判断、变量使用和函数调用,是 Linux 系统管理员和开发人员不可或缺的工具之一。

http://www.jsqmd.com/news/477370/

相关文章:

  • 2026年江浙鲁皖地区靠谱国际高中推荐,林国荣学校课程及优势解读 - mypinpai
  • Linux 网络操作系统常用命令手册
  • 一文看懂大润发购物卡回收平台选择技巧:快速交易无烦恼! - 团团收购物卡回收
  • 唐潮门窗作为铝制构件厂家,多地服务口碑如何,费用贵不贵? - 工业品网
  • LangChain项目初始化:环境配置与依赖管理的最佳实践
  • FMC子卡设计方案:202-基于TI DSP TMS320C6678、Xilinx K7 FPGA XC7K325T的高速数据处理核心板
  • 从OpenClaw热潮看制造业AI Agent的架构落地实录
  • 进口岩板品牌研发能力哪家强,施恩德怎么样? - 工业推荐榜
  • 如何升高图纸标注气泡效率?几百个尺寸标注需要多长时间?
  • 推荐几家性价比高的淘金船源头厂家 - 工业设备
  • 自媒体变现必看:朱雀过不了,再努力也白搭
  • 盘点2026年干式变压器零售商排名,适合配电室应用的有哪些 - myqiye
  • 教务系统查看平时分
  • 地球上的硅的储量够造多少倍于现在的芯片
  • 10kv单芯电缆故障定位系统 电缆在线监测系统厂家沃伦森(WARENSEN)
  • AI编程(二):Trae+MCP+figma 应用开发
  • 宋大美妞鸡柳烧饼作为推荐的美食小吃加盟公司,在江苏加盟如何选择? - mypinpai
  • 做私域千万别碰这6件事,轻则限流,重则封号
  • 硬盘容量标注为什么在 Windows 中看到的容量往往比厂家标注的要“小”很多?
  • 交通照明选型核心逻辑:道路、隧道、路口照明的差异化需求解析
  • 白色情人节,予你无尽的爱
  • 算法设计与分析-习题2.3
  • 一文讲透|9个降AIGC平台测评:本科生降AI率必备指南
  • 2026中国停车场管理系统十大标杆供应商榜单——智赋停车,共筑城市出行新生态
  • Windows桌面审计:用OCR高效提取VHD磁盘内容
  • DBeaver Ultimate Edtion 26.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
  • 基于DSC或DSOGI的“三电平逆变器带不平衡负载”仿真研究:SVPWM/SPWM调制与T型/...
  • 计算机毕业设计源码:Python 携程旅游数据分析大屏系统 Django框架 selenium 爬虫 大数据 大模型 数据分析 agent 机器学习 旅行 出游 出行(建议收藏)✅
  • 心电域泛化研究从0入门系列 | 第三篇:数据集+多源域划分+标准评估——域泛化科研的“实验地基”
  • 汽车Dugoff轮胎模型,该simulink与carsim联合仿真模型。 汽车轮胎模型