linux awk文本

这篇具有很好参考价值的文章主要介绍了linux awk文本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、awk概念

二、awk的工作过程

三、awk字符

四、内置变量

五、getline 

六、awk的精准筛选

七、例子演示

八、实验演示

 文章来源地址https://www.toymoban.com/news/detail-477119.html

 

 

 

 

 

 

 

 

 

 

 

 

一、awk概念

  1.概念:awk 是一个功能强大的编辑工具,逐行读取输入文本,主要作用于文件内容,AWK信息的读入也是逐行指定的匹配模式进行查找,

      对符合条件的内容进行格式化输出或者过滤处理。

  2.分隔符:默认是空格,多个空格会压缩一个,可用-F指定分割符

  3.awk执行过程:1、按照命令找指定的行  2、找到的行 打印,操作 awk默认的操作就是打印

  4.awk优点:可以在无交互的情况下自动化完成文本操作

 

二、awk的工作过程

   1.有BEGIN{action;..}优先执行  

   2.从(stdin)中读取内容,执行pattern{action;..}读取文件内容(没有pattern执行print内容)

   3.执行END{action;..}内容

linux awk文本

 

三、awk字符

  1.-F “分隔符” 指明输入时用到的字段分隔符,默认的分隔符是若干个连续空白符

  2.-v变量赋值

  3.{ }外指定条件,{ }内指定操作。

     4.用逗号指定连续的行,用 || 指定不连续的行。&&表示”且“。

  5.默认为空格或制表位。与"-F"作用相同 用-F可以不加单引号 -F:,用FS必须用=""

  例子演示:

  1.-F指定分隔符

linux awk文本

   2.-v赋值为:,每次出现:就空格

linux awk文本

   3.{}外条件是数量为0打印,{}里操作是打印

linux awk文本

   4.,为间隔符||为且&&为或

linux awk文本

linux awk文本

   5.FS定义分割符

linux awk文本

 

四、内置变量

  内置变量,不能用双引号括起来,不然系统会把它当成字符串。

   NR: 当前处理的行的行号(序数)

   NF: 当前处理的行的字段个数。$NF代表最后一个字段
   FS: 列分割符。指定每行文本的字段分隔符,输入内容的分隔符
      默认为空格或制表位。与"-F"作用相同 用-F可以不加单引号 -F:,用FS必须用=""
      $0: 当前处理的行的整行内容 打印所有
   $n: 当前处理行的第n个字段(第n列)
   OFS:输出内容的列分隔符
   FILENAME:被处理的文件名
   RS: 行分隔符。awk从文件中读取资料时,
   将根据RS的定义把资料切割成许多条记录,而awk一次仅读入一条记录进行处理。预设值是"\n"

   1.$0$1(在里面是$0打印所有$1打印一列),在外面0不打印,1打印

linux awk文本

linux awk文本

linux awk文本

   2.NR输出统计行号

linux awk文本

   3.展示行号以及内容

linux awk文本

   4.打印指定行号内容

linux awk文本

   5.范围打印

linux awk文本

   6.打印不相连的行

linux awk文本

   7.正则表达式的范围打印

linux awk文本

   8.偶数打印

linux awk文本

   9.奇数打印

linux awk文本

   10.BEGIN计算

linux awk文本

   11.幂运算

linux awk文本

 

五、getline

  1.当getline左右无重定向符号(“<”,">")或者管道符号(“|”)时,awk首先读取的是第一行,而getline获取的是光标跳转至下一行的内容(也就是第二行)。

  2.当getline左右有管道符号或重定向符时,getline则作用定向输入文件,由于文件是刚打开,并没有被awk读入一行,而只是getline读入,所以getline返回的是文件的第一行,而不是跳转至一行输入

  使用getline偶数打印

linux awk文本

   使用getline奇数打印

linux awk文本

   使用getline将1.txt传给2.txt

linux awk文本

   将1.txt内容传给2.txt展示出来

linux awk文本

 

六、awk的精准筛选

  $n(> < ==): 用于对比数值
  $n~"字符串": 代表第n个字段包含某个字符串
  $n!~"字符串": 代表第n个字段不包含某个字符串
  $n=="字符串": 代表第n个字段为某个字符串
  $n!="字符串": 代表第n个字段不为某个字符串
  $NF: 代表最后一个字段

  1.输出有bash,并且输出第一列和第7列

linux awk文本

   2.输出第七个字段不包含“nologin”所在行的第一个字段和最后一个字段

linux awk文本

 

七、例子演示

  1.过滤打印

 

linux awk文本

linux awk文本

   2.行号加1递归

linux awk文本

   3.过滤passwd展示前4行的第一列

linux awk文本

   4.替换:换为+

linux awk文本

   5.以:为分隔符换行输出

linux awk文本

   6.打印uid大于1000的用户信息

linux awk文本

   7.使用if判断用户信息

linux awk文本

   8.三元表达式,?相当于then,:相当于else

linux awk文本

   9.awk中的数组形成遍历

linux awk文本

 

八、实验演示

  1.简单的日志分割

linux awk文本

   2.提取host.txt主机名后再放回host.txt文件

linux awk文本

   3.统计磁盘可用容量

linux awk文本

   4.统计/etc下文件总大小

linux awk文本

   5.CPU使用率

linux awk文本

   6.统计内存

linux awk文本

 

到了这里,关于linux awk文本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux文本三剑客---grep、sed、awk

    awk、grep、sed是linux操作文本的三大利器,三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂。grep更适合单纯的查找或匹配文本,sed更适合编辑匹配到的文本,awk更适合格式化文本,对文本进行较复杂格式处理。 1、grep 1.1 命令格式 1.2命令功能

    2024年02月14日
    浏览(54)
  • Linux文本三剑客(grep、sed、awk)

    目录 grep 1、什么是grep和rgrep? 2、使用grep 2.1、命令格式 2.2、命令功能 2.3、命令参数 3、实战演示 sed 1、认识sed 2、使用sed 2.1、命令格式 2.2、常用选项options 2.3、地址定界 2.4、编辑命令command 3、sed用法演示 3.1、常用选项用法演示 3.2、sed地址定界演示 3.3、编辑命令command演示

    2024年02月03日
    浏览(52)
  • Linux持续学习者的必备工具:文本处理神器awk

    作为一名Linux持续学习者,我们经常需要处理各种各样的文本文件,例如日志文件、配置文件等。而对于大规模的文本数据,手动处理往往效率低下且容易出错。那么,有没有一种快速而强大的工具可以帮助我们进行文本处理呢?答案就是awk!本文将为你介绍awk的基本使用方

    2024年02月10日
    浏览(42)
  • Linux 文本处理三剑客:grep、sed 和 awk

    awk、grep、sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一。三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂。grep更适合单纯的查找或匹配文本,sed更适合编辑匹配到的文本,awk更适合格式化文本,对文本进行较

    2024年01月17日
    浏览(61)
  • Linux:管道命令与文本处理三剑客(grep、sed、awk)

    众所周知,bash命令执行的时候会输出信息,但有时这些信息必须要经过几次处理之后才能得到我们想要的格式,此时应该如何处置?这就牵涉到 管道命令(pipe) 了。管道命令使用的是 | 这个界定符号。另外,管道命令与连续执行命令是不一样的,这点下面我们会说明。 我们先

    2023年04月18日
    浏览(54)
  • Linux中字符处理三剑客(grep sed awk )

    在 Linux 系统中,字符处理流程可以利用三个常用的工具来完成,三剑客的具体说明如下: grep:grep 是一种强大的文本搜索工具,可以搜索文件内容中包含指定文本的行,并打印出包含该文本的行。grep 命令通常用于搜索日志文件、配置文件等。 在Linux中,\\\"grep\\\"是一种文本搜索

    2024年02月08日
    浏览(53)
  • 查找目录中所有内容文本中不含某个特定字符串的文件列表

    查找目录中所有内容中不含某个特定字符串的文件的列表 -type f 表示只查找文件; !表示对匹配条件进行取反,即不含特定字符串; {} ;  将每个被找到的文件作为参数传递给find后面的grep命令,其中: 花括号是 find 命令使用的占位符,用于知道在何处插入当前正在使用的文

    2024年02月19日
    浏览(43)
  • 【模拟IC】闩锁效应的概念,产生原因,工作过程及解决方案

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 闩锁效应指的是在CMOS工艺制作的芯片中,寄生三极管与寄生体电阻形成的电路,在一定条件下,会导致电源与地之间产生大电流,可能会永久损坏芯片。可以由图一看出,在同时具有NMOS和PMOS管时,P区

    2024年04月12日
    浏览(36)
  • 文本三剑客之 awk

    Linux/UNIX 系统中,awk 是一个功能强大的编辑工具。逐行读取输入文本 以空格作为分割符,多个空格他会自动压缩成一个空格 AWK信息的读入也是逐行指定的匹配模式进行查找,对符合条件的内容进行格式化输出或者过滤处理. 1按照命令找指定的行  2.找到的行 打印,操作 awk

    2024年02月08日
    浏览(42)
  • Linux工作原理2常用基本命令和目录层次结构

    本章是对本书中你将遇到的Unix命令和工具的指南。 为什么是Unix命令?这不是一本关于Linux如何工作的书吗?当然是的,但Linux在本质上是一种Unix风格。在本章中,你会看到Unix这个词,而不是Linux,因为你可以把你学到的东西直接带到BSD和其他Unix风味的系统中去。我试图避免

    2024年02月06日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包