awk(一):原理、结构

awk原理

     awk逐行扫描文件,从第一行到最后一行,寻找匹配特定模式的行,并在这些行上进行你想要的操作

awk结构 

awk 'BEGIN{ commands } /pattern/{ commands } END{ commands }'

 

      awk基本结构包括模式匹配(用于找到要处理的行)和处理过程(即处理动作)。
      pattern  {action}   ==> 模式 {动作指令}

       模式(被匹配)可以是:
       BEGIN:  在没有读取任何数据之前执行(例如用于输出表头,初始化变量)
       END:  在所有数据读取完成以后执行
       表达式
       表达式,表达式
       动作指令需要以{}引起来

#例子
#:/^$/通过正则表达式匹配空白行,动作为打印Blank line;即test.txt如有N个空白行,awk将在屏幕打印N个Blank line。
awk '/^$/ {print "Blank line}' test.txt

#打印包含HOSTNAME的行,因为没有指定动作指令,默认动作为打印。
awk '/HOSTNAME/' /etc/sysconfig/network

#提前编辑一个awk脚本再通过-f选项调用该脚本。
#cat awk.sh
#    '/^$/ {print "Blank line}'
awk -f awk.sh test.txt

 

posted @ 2021-02-22 15:30  LasyLindsey  阅读(114)  评论(0)    收藏  举报