awk 命令的基本格式为:

    1. [root@localhost ~]# awk [选项] '脚本命令' 文件名

    常用的选项以及各自的含义:

    选项 含义
    -F fs 指定以 fs 作为输入行的分隔符,awk 命令默认分隔符为空格或制表符。
    -f file 从脚本文件中读取 awk 脚本指令,以取代直接在命令行中输入指令。
    -v var=val 在执行处理过程之前,设置一个变量 var,并给其设备初始值为 val。

    awk 的强大之处在于脚本命令,它由 2 部分组成,分别为匹配规则和执行命令,如下所示:
    '匹配规则{执行命令}'
    这里的匹配规则,和 sed 命令中的 address 部分作用相同,用来指定脚本命令可以作用到文本内容中的具体行,可以使用字符串(比如 /demo/,表示查看含有 demo 字符串的行)或者正则表达式指定。另外需要注意的是,整个脚本命令是用单引号(’’)括起,而其中的执行命令部分需要用大括号({})括起来。

    在 awk 程序执行时,如果没有指定执行命令,则默认会把匹配的行输出;如果不指定匹配规则,则默认匹配文本中所有的行。
    举个简单的例子:

    1. [root@localhost ~]# awk '/^$/ {print "Blank line"}' test.txt

    在此命令中,/^$/ 是一个正则表达式,功能是匹配文本中的空白行,同时可以看到,执行命令使用的是 print 命令,此命令经常会使用,它的作用很简单,就是将指定的文本进行输出。因此,整个命令的功能是,如果 test.txt 有 N 个空白行,那么执行此命令会输出 N 个 Blank line。
    例:
    image.png
    统计文件中以“|”为分隔符,$2和$5为每行第2和第5个字段的内容

    1. awk -F '\t' '{print $1,$2,$3}' ./xxxx.txt > ./test.txt
    1. cat 1.txt | awk 'END{print NF}'
    1. awk '{print $1}' ./1_result.txt > ./t1.txt

    查询aprt-r-00000文件中指定内容:以’\t’分隔,第三个值是否有为1的
    cat aprt-r-00000 | awk -F ‘\t’ ‘{print$3}’ | grep -i 1