awk
命令作用说明:遍历文件的每一行,对每一行的内容进行切分处理。
具体运行过程为:遍历文件之前,先执行BEGIN代码块;之后每次处理文件中的一行,都会执行中间{}代码块;遍历文件结束后,执行END代码块。BEGIN和END代码块不是必需的。
一、 命令格式
awk命令的格式分为如下两种,
1、awk [options] ‘BEGIN{codes} 逻辑判断式 {codes} END{codes}’ file
2、awk -f script_file file
二、详细说明
awk [options] 'BEGIN{codes} 逻辑判断式 {codes} END{codes}' file
awk -f script_file file
1、 [options]
常用的选项有:
-F 用于指定字段分隔符
2、codes
常用函数
length(str)、int(num)、index(str1,str2)
split(str, arr, separator)、printf(fmt, args)、sprintf(fmt, args)
substr(str, pos, len)、tolower(str)、toupper(str)
if语句
if() {
}
for循环
for(i=0;i<n;i++){
}
3、逻辑判断式
①、正则表达式 $1 ~ /regexp/ 或 $1 !~ /regexp/ 缺省时为$0
②、== != >= <= < > || &&
4、内置变量
变量 | 含义 |
---|---|
$0 | 当前行 |
$1 ~ $n | 当前行分割后的第几个字段 |
$0 | 当前行 |
FILENAME | 输入的文件名称 |
RS | 行分隔符 |
FS | 字段分隔符 |
NR | 当前行的行号 |
NF | 当前行分割后的字段数目 |
ORS | 输出的行分隔符 |
OFS | 输入的字段分隔符 |
5、script_file
将awk命令后面单引号的内容保存为一个文件