Shell编程实战:Grep与Awk工具使用详解.pdfVIP

  • 0
  • 0
  • 约3.11千字
  • 约 4页
  • 2026-01-16 发布于北京
  • 举报

Shell编程实战:Grep与Awk工具使用详解.pdf

京峰JF2117-Day38上课笔记SHELL编程Awk、Grep实战

1、SHELL编程四剑客之Awk工具

AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大

的数据处理引擎之一,以Aho、Weinberger、Kernighan三位发明者名字首字

母命名为AWK,AWK是一个行级文本高效处理工具,AWK经过改进生成的新

的版本有Nawk、Gawk,一般Linux默认为Gawk,Gawk是AWK的GNU开源

免费版本。

AWK基本原理是逐行处理文件中的数据,查找与命令行中所给定内容相匹

配的模式,如果发现匹配内容,则进行下一个编程步骤,如果找不到匹配内

容,则继续处理下一行。其语法参数格式为,AWK常用参数、变量、函数详解

如下:

Awkpattern+{action}file

(1)AWK基本语法参数详解:

❑单引号是为了和shell命令区分开;

❑大括号{}表示一个命令分组;

❑pattern是一个过滤器,表示匹配pattern条件的行才进行Action处理;

❑action是处理动作,常见动作为Print;

❑使用#作为注释,pattern和action可以只有其一,但不能两者都没有。

(2)AWK内置变量详解:

❑FS分隔符,默认是空格;

❑OFS输出分隔符;

❑NR当前行数,从1开始;

❑NF当前记录字段个数;

❑$0当前记录;

❑$1~$n当前记录第n个字段(列)。

(3)AWK内置函数详解:

❑gsub(r,s):在$0中用s代替r;

❑index(s,t):返回s中t的第一个位置;

❑length(s):s的长度;

❑match(s,r):s是否匹配r;

❑split(s,a,fs):在fs上将s分成序列a;

❑substr(s,p):返回s从p开始的子串。

(4)AWK常用操作符,运算符及判断符:

❑++--增加与减少(前置或后置);

❑^**指数(右结合性);

❑!+-非、一元(unary)加号、一元减号;

❑+-*/%加、减、乘、除、余数;

❑===!==数字比较;

❑逻辑and;

❑||逻辑or;

❑=+=-=*=/=%=^=**=赋值。

(5)AWK与流程控制语句:

❑if(condition){}else{};

❑while{};

❑do{}while(condition);

❑for(init;condition;step){};

❑break/continue。

常用AWK工具企业演练案列:

(1)AWK打印硬盘设备名称,默认以空格为分割:

df-h|awk{print$1}

(2)AWK以空格、冒号、\t、分号为分割:

awk-F[:\t;]{print$1}jfedu.txt

(3)AWK以冒号分割,打印第一列,同时将内容追加到/tmp/awk.log下:

awk-F:{print$1/tmp/awk.log}jfedu.txt

(4)打印jfedu.txt文件中的第3行至第5行,NR表示打印行,$0表示文本所

有域:

awkNR==3,NR==5{print}jfedu.txt

awkNR==3,NR==5{print$0}jfedu.txt

(5)打印jfedu.txt文件中的

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档