ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

awk

2021-12-22 18:03:35  阅读:169  来源: 互联网

标签:passwd NF etc awk print localhost


1、awk

awk主要是用来格式化文本

语法结构

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

参数

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

  eg:

     

 

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

  

 

   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

$n

代表第n 列

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

 

NF

记录当前行的字段数

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

$NF打印最后一列

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

NR

用来记录行号

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

 相当于迭代器

FS

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

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

FS的优先级要高于-F

OFS

指定打印分隔符

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

 

 

 

 

 

标签:passwd,NF,etc,awk,print,localhost
来源: https://www.cnblogs.com/fkzxps/p/15720589.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有