摘要:
输出操作 awk可以通过print、printf将数据输出到标准输出或重定向到文件。 print print elem1,elem2,elem3... print(elem1,elem2,elem3...) 逗号分隔要打印的字段列表,各字段都会自动转换成字符串格式,然后通过预定义变量OFS(outp 阅读全文
摘要:
getline用法详解 除了可以从标准输入或非选项型参数所指定的文件中读取数据,还可以使用getline从其它各种渠道获取需要处理的数据,它的用法有很多种。 getline的返回值: 如果可以读取到数据,返回1 如果遇到了EOF,返回0 如果遇到了错误,返回负数。如-1表示文件无法打开,-2表示IO 阅读全文
摘要:
awk工作流程 参考自:man awk的"AWK PROGRAM EXECUTION"段。 man --pager='less -p ^"AWK PROGRAM EXECUTION"' awk 执行步骤: 1、解析-v var=val.....选项中的变量赋值。 2、编译AWK源代码为AWK可解释的 阅读全文
摘要:
awk数据筛选示例 筛选行 # 1.根据行号筛选 awk 'NR==2' a.txt # 筛选出第二行 awk 'NR>=2' a.txt # 输出第2行和之后的行 # 2.根据正则表达式筛选整行 awk '/qq.com/' a.txt # 输出带有qq.com的行 awk '$0 ~ /qq.c 阅读全文
摘要:
修改字段或NF值的联动效应 注意下面的分割和计算两词:分割表示使用FS(field Separator),计算表示使用预定义变量OFS(Output Field Separator)。 修改$0,将使用FS重新分割字段,所以会影响$1、$2... 修改$1、$2,将根据$1到$NF等各字段来重新计算 阅读全文
摘要:
详细分析awk字段分割 awk读取每一条记录之后,会将其赋值给$0,同时还会对这条记录按照预定义变量FS划分字段,将划分好的各个字段分别赋值给$1 $2 $3 $4...$N,同时将划分的字段数量赋值给预定义变量NF。 引用字段的方式 $N引用字段: N=0:即$0,引用记录本身 0<N<=NF:引 阅读全文
摘要:
详细分析awk如何读取文件 awk读取输入文件时,每次读取一条记录(record)(默认情况下按行读取,所以此时记录就是行)。每读取一条记录,将其保存到$0中,然后执行一次main代码段。 [root@docker-01 ~]# awk '{print $0}' a.txt 如果是空文件,则因为无法 阅读全文
摘要:
awk命令行结构和语法结构 awk命令行结构 awk [ -- ] program-text file ... (1) awk -f program-file [ -- ] file ... (2) awk -e program-text [ -- ] file ... (3) 其中 program 阅读全文
摘要:
下载 [root@docker-01 ~]# wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/gnu/gawk/gawk-4.2.0.tar.gz 解压进入解压目录 [root@docker-01 ~]# tar xf 阅读全文
摘要:
awk的所有代码(目前这么认为)都是写在语句块中的。 例如 [root@docker-01 ~]# awk '{print $0}' a.txt [root@docker-01 ~]# awk '{print $0}{print $0;print $0}' a.txt 每个语句块前面可以有patte 阅读全文