随笔分类 - awk
摘要:输出操作 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
阅读全文
摘要:awk用法入门 awk 'awk_program' a.txt awk示例: [root@docker-01 ~]# awk '{print $0}' a.txt # 输出a.txt中的每一行 ID name gender age email phone 1 Bob male 28 abc@qq.c
阅读全文
摘要:案例文本文件 [root@docker-01 ~]# cat a.txt ID name gender age email phone 1 Bob male 28 abc@qq.com 18023394012 2 Alice female 24 def@gmail.com 18084925203 3
阅读全文
摘要:[root@node2 ~]# cp /etc/passwd /server/scprits/ [root@node2 ~]# cd /server/scprits/ [root@node2 scprits]# ls -l passwd -rw-r--r--. 1 root root 1065 12
阅读全文
摘要:第1章 awk命令基础 1.1 awk命令执行过程 1、如果BEGIN 区块存在,awk执行它指定的动作。 2、awk从输入文件中读取一行,称为一条输入记录。如果输入文件省略,将从标准输入读取 3、awk将读入的记录分割成字段,将第1个字段放入变量$1中,第2个字段放入$2,以此类推。$0表示整条记
阅读全文
摘要:安装新版本gawk awk有很多种版本,例如nawk、gawk。gawk是GNU awk,它的功能很丰富。 本教程采用的是gawk 4.2.0版本,4.2.0版本的gawk是一个比较大的改版,新支持的一些特性非常好用,而在低于4.2.0版本时这些语法可能会报错。所以,请先安装4.2.0版本或更高版本
阅读全文
摘要:介绍 它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。 awk 是一种很棒的语言,它适合文本处理和报表生成,其语法较为常见,借鉴了某些语言的一些精华,如 C 语言等。在 linux 系统日常处理工作中,发挥很重要的作用,掌握了 aw
阅读全文