美文网首页
shell三剑客之awk

shell三剑客之awk

作者: 何阿驼 | 来源:发表于2018-08-11 23:00 被阅读0次

学习的内容来自于Linux Shell脚本攻略(2)

内容只做了简单的记录,方便自己学习

shell 命令查询地址:http://man.linuxde.net/

awk

awk的灵活性十分的高,它是一款用于设计数据流的工具,最方便的操作是对数据的行和列的操作

基本结构如下

awk 'BEGIN {print 'start'} pattern {commands } END{print 'end'} file

工作原理:

1)执行BEGIN{commadns}语句块中的语句

2)从文件或stdin中读取一行,然后执行pattern{commands}。重复这个过程直到文件全部被读取完

  1. 当读至输入流末尾时,执行END{commadns}语块

Begin语句块在awk开始从输入流中读取之前就已经被执行,这是一个可以选择的语块,当我们需要初始化我们的输出内容的时候,就可以选择比如表单的表头

END语句块是在awk从输入流中读取完所有行之后执行的,这也是一个可以选择的语句块

pattern 语句块 默认执行{print} 即打印读取到的每一行

每读取一行,awk就会检查该行和提供的样式是否匹配,如果匹配则执行{}中的语句

1533176791822.png 1533176933033.png

awk的特殊变量

NR:表示记录数量,在执行过程中对应于当前行号

NF:表示字段数量(变量) 在执行过程中对应于当前行的字段数

$0:这个变量包含执行过程中当前行的文本内容

$1:这个变量包含第一个字段的文本内容

$2:这个变量包含第二个字段的文本内容

1533177674441.png

这里可以看他,他会把,左右的字段判断成为一个字段

$NF 表示这一行的最后一个字段 ${NF-1}倒数第二个字段

相关文章

  • Linux-grep、sed、awk之awk命令

    参考:Linux三剑客(grep sed awk) 之 awk[https://www.jianshu.com/p...

  • Shell编程、part5

    本节内容 1. 三剑客简介 2. sed命令详解 3. awk命令详解 文本处理三剑客 在 Shell 下使用这些...

  • shell三剑客之awk

    学习的内容来自于Linux Shell脚本攻略(2) 内容只做了简单的记录,方便自己学习 shell 命令查询地址...

  • shell三剑客之awk

    背景 awk 是一个文本处理工具,通常用于处理数据并生成结果报告。awk 的命名是它的创始人 Alfred Aho...

  • day 15

    Linux三剑客之awk 1.1、awk语法及参数 功能说明: awk是一种编程语言,可以用来处理数据和生成报...

  • 2019-07-25

    操作系统命令三剑客-awk 一: 三剑客命令awk概述gawk : pattern scanning and pr...

  • 六.Shell之字符串高级用法(expr)

    Shell中对字符串处理命令主要有两种,一种为前面Shell三剑客之一的awk,另一种为即将介绍的expr。 1....

  • 2019-06-19

    1. awk三剑客命令概述 # which awk--------查看awk在哪个目录下 显示: /u...

  • shell三剑客

    shell的三剑客 grep用来文本搜索,支持正则表达式 awk用来数据切片 sed用来修改文件数据 grep g...

  • day19-三剑客awk

    ※三剑客之awk 下图是awk的执行过程 1.取行------>NR== 2.取列------->1第一列2第二列...

网友评论

      本文标题:shell三剑客之awk

      本文链接:https://www.haomeiwen.com/subject/jpwrbftx.html