博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
awk命令
阅读量:6195 次
发布时间:2019-06-21

本文共 655 字,大约阅读时间需要 2 分钟。

awksedgrep要复杂一些,awk支持分段,例如像passwd文件的内容很有规律用冒号分成七段,awk可以针对每一段进行匹配。


  awk最简单的用法就是照某个字符进行分割,然后可以选择打印某一段:

打印所有的段:

不分段,直接打印文件内容:

不指定分段的字符符就会默认以空格为分段字符:

打印多段内容:

指定打印的时候以什么字符进行分割,例如我以*号进行分割:

匹配指定字所在的行:

  指定匹配某一段并且此段包含指定字符的行,例如我指定匹配第一段包含有oo字符串的行:

这就是awk强大的地方,并且同样匹配正则表达式。

awk中使用正则表达式不用加脱义符,默认就可以支持:

awk支持同时写多个表达式:

这个命令表示打印含有rootuser字符的行

使用|也可以:

awk还可以使用关系运算符:

这个命令表示匹配第三段含有0的行

  以上使用关系运算符进行的匹配是按照实际数字大小来匹配的,如果要按ASCII码的的大小匹配的话,加上双引号即可:

awk命令里使用比较运算符:

指定打印的分割符:

想要写得规整一些就加上if条件判断语句:

使用内置变量打印所有的行:

NR表示行

NF表示段

NR可以作为一个判断条件,例如我只打印前10行:

使用多个判断条件:

NRNF加上$符:

使用awk命令对文件的某一段进行赋值:

使用awk命令进行求和:

本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1972703,如需转载请自行联系原作者

你可能感兴趣的文章
网关地址设置
查看>>
一个动画 Label (走马观花)
查看>>
requests 中文乱码
查看>>
VMware下ubuntu与Windows实现文件共享的方法(zhuan)
查看>>
再见了Server对象,拥抱IHostingEnvironment服务对象(.net core)
查看>>
Javassist初体验
查看>>
LaTex in Markdown
查看>>
eclipse中使用svn
查看>>
bootstrap 初始学习篇
查看>>
Reverse Linked List II
查看>>
python发送邮件
查看>>
PLSql使用
查看>>
Linux&Unix命令
查看>>
怎样解题表
查看>>
ocp 042 第五章:数据库存储结构
查看>>
JavaScript 数据类型
查看>>
redhat配置caffe
查看>>
大数据学习(2)HDFS文件管理
查看>>
Java并发编程实践读书笔记(2)多线程基础组件
查看>>
洛谷P2668 斗地主
查看>>