linux文本编辑器awk

在以linux为内核的操作系统环境中,文本编辑器 具有重要地位,其中关键原因在于涉及linux操作系统的配置均是以文件形式存在,因而维护linux的正常运行特别是自定义环境配置时,必须用到文本编辑器修改配置文件的内容。

作为编辑文件的主流编辑器,vim 一直在linux系统中被奉为神器,诚然,vim 编辑器的强大功能和复杂的命令系统,使得它的入门已颇具门槛,但熟练之后确实是高效工作的一大助手;另外,sed 以及本文即将探讨的 awk 也是文本处理的有效工具;随着越来越多的桌面linux操作系统的涌现,图形化的文本编辑器如 gedit等 也成为编辑器家族的重要成员。

awk文本处理工具

awk是基于列的文本处理工具,它的工作方式是按行读取文本并视为一条记录,每条记录以字段为单位分割成若干字段,然后输出各字段的值。
awk认为文件都是由单词和各种空白字符组成的,这里“空白字符”包括空格、Tab,以及连续的空格和Tab等,每个非空白的部分叫做“域”(即字段)。
下文以一个实验文本展示awk的简单使用:

1 实验文本

2 awk打印指定字段


上图中,$1,$4,$6分别是每一行内容的第1,4,6字段。

显然,上述awk默认是以空格作为分界标记,其实可以使用自定义的符号作为分界符。
下图中,在test1.txt文本中,指定使用下划线"_"作为分界符:

3 awk显示每行字段数

4 awk显示每行字符数

5 awk截取指定字段的字符串

下图中,选定第4个字段,截取该字段中第2至第3个(首位均包含)字符串:

当然,使用awk配置正则表达式会实现更多功能,此处不再赘述。

作者: python之家

出处: http://www.cnblogs.com/pythonfl/

本文版权归作者和博客园共有,转载时请标明本文出处;如对本文有疑问,欢迎邮件15256636585@qq.com联系;如发现文中内容侵犯到您的权利,请联系作者予以处理。

原文地址:https://www.cnblogs.com/pythonfl/p/14428832.html