现在的位置: 首页 > 综合 > 正文

awk:语法命令学习

2018年10月02日 ⁄ 综合 ⁄ 共 1274字 ⁄ 字号 评论关闭

一、awk命令行语法

        awk [-v var=value] [-F re] [--] 'pattern{action}' var=value file(s)

        awk [-v var=value] [-F re] -f scriptfile [--] var=value file(s)

二、awk命令语法

        pattern{ action }

2.1 模式

        /regular expression/

        relational expression

        BEGIN

        END

        pattern, pattern

        注释

2.2 正则表达式

2.3表达式

1. 常量

        转义序列:\r、\n、\t、\v、\b、\ddd、\xbex、\a、\f、\c、

2. 变量

3. 数组

        array[index] = value

        for (item in array)

        if (index in array)

        split创建数组

        关联数组

4. 系统变量

        ARGC、ARGV、NF、NR、RS、FS、ORS、OFS、FNR、FILENAME、OFMT、RLENGTH、RSTART、ENVIRON、CONVFMT、SUBSEP、

5. 操作符

6. 语句和函数

三、awk概念

3.1 字段

        每个输入行都被分割为字段。

        默认,字段分隔符为一个或多个空格和/或制表符。

        改变字段分隔符(3种):

        取字段值:$1、$2、

3.2 记录

        每个输入行都是由几个字段组成的一个记录。

        改变记录分隔符:

        取记录值:$0

四、awk命令汇总

测试文件file:

4.1 算术函数(9个)

1. 生成随机数函数

        rand()

        srand(x)

2. 整数函数

        int(x)

3. 三角函数

        sqrt(x)

        cos(x)

        sin(x)

        atan2(y,x)

        log(x)

        exp(x)

4.2 字符串函数(10个)

1. 分割字符串

        split(s,a,sep)

2. 格式化函数:

        sprintf("fmt", expr)

3. 子串函数:

        index(s,t)

        substr(s,p,n)

4. 字符串长度:

        length(s)

5. 替换函数:

        sub(r,s,t)

        gsub(r,s,t)

6. 大小写转换:

        tolower(s)

        toupper(s)

7. match函数:

        match(s,r)

4.3 “底部抽屉”函数

        getline函数

        close()

        system()

        注意:getline与next的区别。

4.4 控制语句

        exit

        next

4.5 控制语句:

        if、for、while、do while

        break、continue

五、printf、sprintf

        %-width.precision  format-specifier

抱歉!评论已关闭.