awk基础02-变量-分隔符-数组
2021-06-28 17:06
标签:了解 awk 数组下标 ble 维数 常用 模式 $0 访问 ? ? 对任意一门语言都会有变量,在awk中变量分为内置变量和自定义变量。 内置变量:就是预先在awk中定义好的,用户可以直接使用 awk主要的内置变量如下所示: 1、打印行号 2、awk默认以换行符做为新的一行的开始,如果不想采用默认的换行符,则可以自己指定行分隔符 在该示例中,使用 : 作为换行符,则每次遇到:则新起一行 3、awk在输出显示时也是默认以换行符作为新的一行,如果在输出不采用默认的换行符,则也可指定输出行分隔符 在该示例中,采用默认的换行符,与我们的预期是一致的,但如果指定输出行换行符,则以指定的换行符做为换行的标志,这个仅仅是awk能够识别,因此我们看到的输出在一行上面,而在awk里面却是两行。 4、打印总列数和行号 5、如果一次输入有多个文件,想打印各个文件自己的信息,如何处理?来看示例: ? ? 内置变量个数是有限的,不能满足现实中不同的使用场景,因此在实际应用时,还需要定义自己的变量,俗称自定义变量。在awk中自定义变量的方法主要有两种方式: ? ? 针对以下两个问题,我们引入分隔符概念。在awk中,分隔符分为两种:输入分隔符和输出分隔符。 ? ? 输入分隔符,全称field separator,简写FS。针对即将读入到awk中所采用的分隔符,默认为空格;当awk逐行处理文本文件的时候,以输入分隔符为参考对每行进行切割并分隔为多列。如果文本文件中没有空格,则可以自行指定分隔符。 ? ? 输出分隔符,全称output field separator,简写OFS。针对经过awk处理后,在输出的时候采用的分隔符加以格式化,默认为空格。如果在输出的结果不采用默认的分隔符,则需要指定分隔符。 ? ? 如果你了解过任何一门编程语言,则很容易明白什么是数组。通过情况下,数组是代表同一种类型数据的集合,常用的有一维、二维和多维数组等等。在使用的时候通过数组下标去访问。大部分的编程语言中下标是从0开始,而awk中数组下标是从1开始。在使用数组时需要注意的事项如下所示: 本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注: awk基础02-变量-分隔符-数组 标签:了解 awk 数组下标 ble 维数 常用 模式 $0 访问 原文地址:https://www.cnblogs.com/surpassme/p/9649167.html
自定义变量:这种变量为用户自己定义的变量,需要先定义后再使用。内置变量
变量
解释
默认值
\$0
代表当前整行记录
$\(1-\$\)n
代表当前一行的第n列,由输入分隔符决定
默认由空格进行分隔
FS
输入列分隔符
默认为空格
RS
输入行分隔符
默认为换行符
ORS
输出行分隔符
默认为换行符
OFS
输出列分隔符
默认为空格
NF
当前行总列数
NR
当前处理的文本行号
FNR
各文件自己的行号
FILENAME
当前文件名
ARGC
命令行的参数个数
ARGV
命令行中数组的参数
CONVFMT
设置数字的格式
默认%.6g
OFMT
输出数字的格式
默认%.6g
用法示例
自定义变量
awk -v variableName=value
awk ‘BEGIN {variableName=value}‘
用法示例
分隔符
输入分隔符
输出分隔符
数组
用法示例
下一篇:JS和Java正则表达式验证