什么是AWK
- 报告生成器。拥有强大的文本格式化能力。
- 一门编程语言,支持条件判断,数组,循环等功能。可以理解成一个脚本解释器。
awk基础语法
-
awk [option] ‘progrom’ file1, file2,…
注意:'program’可以细分为pattern和action所以awk的基本语法如下:
awk [option] ’pattern{action}’file -
action是动作的意思。awk擅长文本格式化,并且将格式化后的文本输出,所以awk经常用的动作就是print和printf。
-
awk是逐行处理的。默认以”换行符“(空格)为标记, 0 表 示 整 行 , 0表示整行, 0表示整行,NF表示当前分割后的最后一行(均为内置变量)
-
pattern是模式的意思。awk包含两种模式:BEGIN和END。
1.BEGIN模式制定了处理文本之前需要执行的操作。
2.END模式制定了处理完所有行之后所需要执行的操作。 -
分隔符
1.输入分隔符:FS
2.输入分割符:默认空白字符。
输出分割符简称OFS
3.-F选项指定使用的分隔符。例如:-F#
awk -F#‘{print $1,$2}‘test
-V选项用于设置指定的变量的,如-v FS=’#’ -
$1与$2之间的”,“用于表示用分隔符输出。无的话,第一列与第二列连接输出。
简称
RS:输入记录分隔符(输入换行字符),指定输入时的换行符。
ORS:输出分隔符。输出是用指定符号代替换行符
NF:字段数量
NR:行号,当前处理的文本行的行号。
FNR:各文件分别计数的行号。
FILENAME:当前文件名
ARGC:命令行参数的个数。
ARGV:数组,保存的是命令行所给定的各参数。