awk工具

awk:

awk -F ':' '{print $1}' 文件名字   =把第一段打印出来, $1 表示第一段,1可以根据需求修改,如果想打印全部出来那么 $1 更改为 $0 即可。

不指定分隔符那么会默认空格或者空白字符自己分段打印。

awk 也可以同时打印多段落中间加上 , 号即可。

指定去其他符号分割段落,符号用双引号引起来即可。

直接匹配需求数据。

awk -F ' : '  '$1 ~ /oo/'  文件名字 =指定匹配第一段带有oo的数据。    $1 ~ =第一段     同样支持正则表达式匹配。

awk -F ':' '/root/ {print $1,$3} /test/ {print $1,$3}' test.txt   =匹配第一段和第三段带有root的段,然后在匹配第一段和第三段带有user的段。    (awk同样可以多个表达式一起写)

awk -F ':' '/root/user/ {print $0}' test.txt    匹配所有段落带有root或者user的行。 (上面的那种写法更加容易理解)

awk -F ':' '$3==1000 {print $0}' test.txt   第三段等于0的有哪些。        ==  两个等号才表示等于     一个等于号表示赋值

awk -F ':' '$3>=1000 {print $0}' test.txt  第三段大于等于1000的段落有哪些   

awk -F ':' '$7!="/sbin/nologin" {print $0}' test.txt   表示第七段不等于 /sbin/nologin 有哪些。  !$ = 0不等于的意思。

awk -F ':' '$3>"5" && $3<"7"' test.txt   $3大于5并且$3小于7 ,  &&=并且。

awk -F ':' '$3>1000 || $7=="/bin/bash"' test.txt    $3大于1000或者$7等于/bin/bash     ||=或者的意思

==(两个等于号表示等于,一个等于号表示赋值)

0FS 指定print的分隔符,中间可以写需求条件,如果不写条件那么就是全部显示。

awk -F ':' '{print NF":" $0}' test.txt  显示每一行的段号,每一行一共有几段。

awk -F ':' '{print NR":" $0}' test.txt      显示行号。

NF    NR  同样可以用作判断一个条件是否可行。

awk -F ':' '{(tot=tot+$3)}; END {print tot}' test.txt    求第三段所有的和

awk -F ':' '{if ($1=="root") {print $0}}'      if = 嵌套条件,和需求条件一起写

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT技术精选文摘

来自1000多个项目的10大JavaScript错误浅析

出于可读性方面的考虑,每个错误的描述经过精简。 1.Uncaught TypeError: Cannot read property 如果你是一名JavaScr...

3448
来自专栏Java3y

Javascript面向对象入门

什么是JavaScript? 我们可以从几个方面去说JavaScript是什么: 基于对象 javaScript中内置了许多对象供我们使用【String、Dat...

3016
来自专栏老马说编程

(30) 剖析StringBuilder / 计算机程序的思维逻辑

上节介绍了String,提到如果字符串修改操作比较频繁,应该采用StringBuilder和StringBuffer类,这两个类的方法基本是完全一样的,它们的实...

1896
来自专栏前端桃园

ES6之块级作用域

1274
来自专栏互联网杂技

SpringBoot ( 四 ) :thymeleaf 使用详解

简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸...

1193
来自专栏IT米粉

你必须了解的反射——反射来实现实体验证

开发工作中,都会需要针对传入的参数进行验证,特别是针对实体进行验证,确保传入的参数格式正确。这里做了一个非常简单的组件进行验证。抛砖引玉,让大家深入思考下反射的...

3147
来自专栏偏前端工程师的驿站

JS魔法堂:获取当前脚本文件的绝对路径

一、前言                           当写模块加载器时,获取当前脚本文件的绝对路径作为基础路径是必不可少的一步,下面我们一起来探讨一下这...

1766
来自专栏吴裕超

大搜车知乎live中的面试题结题方法记录

1、HTML&CSS(分别10分) 1. 一个div,宽度是100px,此时设置padding是20px,添加一个什么css属性可以让div的实际宽度仍然保持在...

47911
来自专栏函数式编程语言及工具

Scalaz(28)- ST Monad :FP方式适用变量

    函数式编程模式强调纯代码(pure code),主要实现方式是使用不可变数据结构,目的是函数组合(composability)最终实现函数组件的重复使用...

1908
来自专栏一个会写诗的程序员的博客

第2章 Kotlin 语法基础第2章 Kotlin 语法基础

人与人之间通过语言来交流沟通,互相协作。人与计算机之间怎样“交流沟通”呢?答案是编程语言。一门语言有词、短语、句子、文章等,对应到编程语言中就是关键字、标识符、...

1032

扫码关注云+社区