当前位置:萝卜系统 > 硬件软件教程 > 详细页面

Awk用例: 通过awk输出奇数行

Awk用例: 通过awk输出奇数行

更新时间:2023-06-22 文章作者:未知 信息来源:网络 阅读次数:

根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等。

awk print 最后一个_awk 输出_awk

如果您需要获取输入文件中奇数行或偶数行的数据,或者每隔一行获取一次数据,那么对于awk而言,只需一条简单的语句即可完成,真是太神奇了!

CodingAnts@ubuntu:~$ seq 10 | awk 'i=!i'
1
3
5
7
9

为方便起见,用seq命令模拟了10行数据,内容为1到10,可以看到上面的结果显示了所有的奇数行. 让我们为所有人阅读这个awk指令.

awk 输出_awk_awk print 最后一个

在“ awk程序指令模型”中awk 输出,介绍了awk程序指令由模式和操作组成,即以模式{Action}的形式. 比较上面的说明,发现只有模式而没有动作,因此这种情况使用默认动作,即输出整个记录(相当于打印$ 0的效果).

在分析此模式之前,我们需要介绍如何处理awk中的未定义变量. 在awk中对未定义变量的处理如下:

1. 如果执行数字运算,则会分配初始值0

awk_awk print 最后一个_awk 输出

2. 如果字符正在运行,则初始值将为空字符串

了解awk如何处理未定义的变量后,分析模式要容易得多. 当awk读取第一行数据时,它将与模式(模式)匹配. 在这里,模式是一个赋值语句:

i =!i

awk print 最后一个_awk 输出_awk

读取第一条数据后,执行模式匹配时,i是未定义的变量. 根据awk处理未定义变量的方式,这是i的值是0,然后!i是!0 ,!是逆数,并且0为false,然后!0为trueawk 输出,因此赋值语句的结果为i =!0,即为i赋值1.

经过上述计算,Pattern可以等于1,并且1为true,Pattern匹配成功,并输出当前记录.

当读取第二条记录时,i = 1,i =!i,结果为i = 0,因此Pattern为0,Pattern匹配失败,然后读取内容以循环进行上述过程,因此输出的目的达到奇数行.

awk 输出_awk print 最后一个_awk

为了更清楚地理解上述内容,您可以尝试自己运行以下命令并观察输出:

CodingAnts@ubuntu:~$ seq 10 | awk '{i=!i;print i}'
1
0
1
0
1
0
1
0
1
0
CodingAnts@ubuntu:~$ seq 10 | awk '1'
1
2
3
4
5
6
7
8
9
10
CodingAnts@ubuntu:~$ seq 10 | awk '0'

离开工作: 如何使用awk仅输出偶数行?


本文来自本站,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-259554-1.html



温馨提示:喜欢本站的话,请收藏一下本站!

本类教程下载

系统下载排行

网站地图xml | 网站地图html