awk

1、awk

awk主要是用来格式化文本

语法结构

  awk [参数] [处理规则] [操作对象]

参数

  -F :指定文本分割符(默认是以空格作为分割符的)

  eg:

     awk

 

   打印系统所有用户的解析器

  awk

 

   awk -F: '{print $NF}' /etc/passwd

$NF打印最后一列

 awk 的生命周期  

 三剑客都是读一行处理一行,直至处理完成

  1、接受一行作为输入

  2、把刚刚读入进来得到的文本进行分解

  3、使用处理规则处理文本

  4、输入一行,赋值给$0, 直至处理完成

  5、把处理完成之后的所有数据交给END{}来再次处理

 4、awk的预定义变量

$0

代表当前行

[root@localhost ~]# awk -F: '{print $0, "---"}' /etc/passwd

awk

$n

代表第n 列

[root@localhost ~]# awk -F: '{print $1}' /etc/passwd

awk

 

NF

记录当前行的字段数

[root@localhost ~]# awk -F: '{print NF}' /etc/passwd

awk

$NF打印最后一列

[root@localhost ~]# awk -F: '{print $NF}' /etc/passwd 

awk

NR

用来记录行号

[root@localhost ~]# awk -F: '{print NR}' /etc/passwd

awk

 相当于迭代器

FS

指定文本内容分隔符(默认空格)

[root@localhost ~]# awk 'BEGIN{FS=":"}{print $NF, $1}' /etc/passwd

FS的优先级要高于-F

awk

OFS

指定打印分隔符

[root@localhost ~]# awk -F: 'BEGIN{OFS=" >>> "}{print $NF, $1}' /etc/passwd

awk

 

 

 

 

 

上一篇:Linux三剑客之一awk


下一篇:【笔记】生成对抗网络GAN 消除图像模糊(Keras):这个网络的网格应该消除不了,效果不是最优的,想消除网格可以使用其它更优的方法