awk命令是Linux系统中处理文本的强大工具,尤其在字段截取与数据提取方面表现出色。本文将通过几个高频实战场景,带你快速掌握awk文本处理技巧,轻松上手。
1、查看文件前几行内容
最基本的awk用法是直接输出文件内容,结合head命令或内置变量可灵活控制显示行数。以下示例展示了如何显示passwd文件的前5行记录:

2、按冒号分隔并提取指定字段
系统文件(如/etc/passwd)常以冒号作为字段分隔符。使用-F:指定分隔符后,可精准抓取第1、第3、第6列的数据:

3、用Tab键美化输出分隔符
默认情况下awk输出字段间以空格分隔,若希望用Tab键让数据排列更整齐,可借助OFS(输出字段分隔符)变量实现:

4、统计每行包含的字段数量
内置变量NF代表当前行的字段总数。执行print NF即可直观查看每行被切分成了几段,这在验证分隔符是否生效时非常实用:

5、提取每行的最后一个字段
既然NF表示字段总数,那么$NF自然指向最后一个字段。这一技巧在日志分析、路径提取等场景中频繁使用:

6、在输出内容前添加行号NR是awk的另一个内置变量,代表当前处理的行号。配合print NR, $0即可为每行输出加上行号,便于定位和调试:

7、只显示指定行的数据
利用NR做条件判断,可以精准提取某一行。例如只输出passwd文件中的第五行数据:

以上介绍了Linux系统中awk命令处理文本数据的几个常用操作,涵盖文件查看、字段提取、分隔符设置、字段计数、行号输出及行筛选等场景,能应对日常工作中的大部分文本处理需求。多加练习,你就能将awk打造成得心应手的文本处理利器。
