Shell编程之AWK

Shell编程之AWK

    • 一、AWK处理文本工具
      • 1、AWK概述
      • 2、AWK工具
    • 二、AWK内置变量
    • 三、AWK用法
      • 1、提取根分区可用量
      • 2、提取网卡IP地址
      • 3、提取文本内容
      • 4、BEGIN、END模块
        • (1)数值和字符串比较
        • (2)逻辑运算 **&&和||**

一、AWK处理文本工具

1、AWK概述

  • AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。
  • AWK是专门为文本处理设计的编程语言,也是行处理软件,通常用于扫描、过滤、统计汇总工作。用来处理列
  • 数据可以来自标准输入也可以是管道或文件。

2、AWK工具

  • 无交互情况下实现复杂的文本操作

命令格式

awk   选项  '模式{处理动作}' 

常用选项

-F   指定分隔符
-v   自定义变量
-F  和 -FS 不要一起使用, -F的优先级高

二、AWK内置变量

FS:输入字段分隔符,默认为空格或制表位(tab)

OFS:输出字段的分割符(默认是空格)

RS:输入行分隔符

ORS:输出行的分割符,默认为换行符

NF:当前处理的行的字段个数

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

FNR:读取文件的记录行号(从1开始,若读取新的文件依旧是从1开始)

$0:当前处理的行的整行内容

$n:当前处理行的第n个字段(第n列)

Shell编程之AWK_第1张图片
显示一个空格,空格需要用双引号引起来,如果不用引号默认以变量看待,如果是常量就需要双引号引起来。
Shell编程之AWK_第2张图片
Shell编程之AWK_第3张图片

三、AWK用法

awk常用内置变量

$1:代表第一列
$2:代表第二列以此类推
$0:代表整行
NF:一行的列数
NR:行数
用~表示包含,!~表示不包含

1、提取根分区可用量

Shell编程之AWK_第4张图片

2、提取网卡IP地址

Shell编程之AWK_第5张图片

3、提取文本内容

Shell编程之AWK_第6张图片
Shell编程之AWK_第7张图片
Shell编程之AWK_第8张图片
Shell编程之AWK_第9张图片

4、BEGIN、END模块

  • BEGIN一般用来做初始化操作,仅在读取数据记录之前执行一次
  • END一般用来做汇总操作,仅在读取完数据记录之后执行一次
    Shell编程之AWK_第10张图片
    Shell编程之AWK_第11张图片
    加上双引号表示精确匹配
    在这里插入图片描述

(1)数值和字符串比较

Shell编程之AWK_第12张图片

(2)逻辑运算 &&和||

Shell编程之AWK_第13张图片

你可能感兴趣的:(服务器,运维,linux)