每日分享:
也许你错过了今天的落日,但你可以去追逐下一个黎明!



一、awk

  • awk是一种强大的编辑工具,相较于sed常常作用于一整个行的处理,awk则比较倾向于一行当中分成数个字段来处理,因为awk相当适合小型的文本数据。
  • awk 比较倾向于将一行分成多个字段然后再进行处理,且默认情况下字段的分隔符为空格或 tab 键。awk 执行结果可以通过 print 的功能将字段数据打印显示。

1、工作原理

  • 逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。

  • 在使用awk命令的过程中,可以使用逻辑操作符“&&”表示“”、“||”表示“”、“!”表示“”;还可以进行简单的数学运算,如+、-、*、/、%、^分别表示加、减、乘、除、取余和乘方。

2、格式

1、awk 选项 '模式或条件 {操作}' 文件 1 文件 22、awk -f 脚本文件 文件 1 文件 2

3、常见的内建变量

内建量说明
NF当前处理的行的字段个数
NR当前处理的行的行号
FS列分割符。指定每行文本的字段分隔符,默认为空格或制表位。与-F作用相同
$0当前处理的行的整行内容
$n当前处理行的第n个字段(第n列)
FILENAME被处理的文件名
RS行分隔符。awk从文件上读取资料时,将根据RS的定义把资料切割成许多条记录,而awk一次仅读入一条记录,以进行处理。预设值是’\n’

二、awk命令使用——根据行输出内容

输出所有内容

方法一
在这里插入图片描述
方法二
在这里插入图片描述

输出指定行的内容

输出第2行到第4行的内容
方法一
在这里插入图片描述
方法二
在这里插入图片描述
输出第2行和第四行内容
在这里插入图片描述

输出奇数偶数行

输出奇数行
在这里插入图片描述
打印偶数行
在这里插入图片描述

输出指定字符行的内容

输出a开头的行
在这里插入图片描述
输出以字母 f 结尾的行
在这里插入图片描述


三、awk命令使用——根据字段输出

指定字段内容作为分隔符
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
输出与指定内容相反的内容
在这里插入图片描述
在这里插入图片描述


四、awk命令使用——BEGIN、END模式

1、格式

awk 'BEGIN{...}; {...}; END{...}' 文件
  • BEGIN模式是在处理指定的文本之前,需要先执行BEGIN模式中指定的动作;

  • awk再处理指定的文本,之后再执行END模式中指定的动作;

  • END{ } 语句块中,往往会放入打印结果等语句。

2、例子

在这里插入图片描述


五、awk命令使用——通过管道符、双引号调用

在这里插入图片描述
在这里插入图片描述

查看内存使用情况

在这里插入图片描述


六、awk命令使用——数组的使用

数组为数字

在这里插入图片描述

数组为字符串

在这里插入图片描述

创建数组并循环

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐