Linux系统awkAwk

awk基础01-基本用法

2018-09-03  本文已影响86人  Surpassme

什么是awk

    awk 是一门解释型的编程语言,支持条件判断,数组、循环等功能。可用于文本处理、输出格式化的文本信息、执行数学运算、字符串等操作。
    awk在处理文件时按进行逐行处理,即每次处理输入的一整行,完成后再处理下一行,如此循环直到全部处理完毕,默认以换行符作为一行的终结。而在一行中又默认使用空格做为每一列的分隔符,将一行分割为多列。如下所示:

awk01.jpg
$0:代表输入的一整行
$1~$n:代表一行被分割后的列序号,$1则代表为第一列,依次类推

工作原理

基本语法

awk [options] 'Pattern { Action }' File

常用选项

常用选项如下所示:

选项 说明
-F fs 指定分隔符
-v var=val 自定义定义变量并进行赋值
-f program-file 从文件中读入操作
-r,--re-interval 支持以{x,y}的正则匹配
-h 显示帮助信息

Pattern

    awk 中模式可以理解为在处理文本行前需要满足的条件,如果满足则进行处理。常用的模式(Pattern)如下所示:

如果遇到 / ,则需要进行转义操作,使用 /
如果正则需要使用{x,y},则需要使用
--posix
--re-interval选项

    awk 支持的条件运算符如下所示:

运算符 含义 示例
< 小于 x < y
<= 小于等于 x <= y
> 大于 x > y
>= 大于等于 x >= y
== 等于 x == y
!= 不等于 x != y
~ 与正则匹配则为真 x ~/正则/
!~ 与正则不匹配则为真 x !~/正则/

1、常规用法:

awk02.jpg

2、正则表达式用法:

awk03.jpg

Action

    awk 中的操作(Action)其主要作用是对符合模式的数据进行的命令操作,如显示打印等。最常用的就是print。

Action的 { } 必须与其对应的模式处理同一行

Action常用组合方式如下所示:

awk '{print $1} {print $2}'

awk '{print $1 ; print $2}'

awk '{print $1 , $2}'

以上三种用法示例如下所示:

awk04.jpg
上一篇 下一篇

猜你喜欢

热点阅读