首页 > 代码库 > 测试常用命令之awk篇

测试常用命令之awk篇

awk/gawk

1,内置变量

FILENAME:输入文件名称

FNR:当前数据文件中的数据行数

NF:数据文件中的字段总数

NR:已处理的输入数据行数目

FS:输入数据段分隔符

RS:输入数据行分隔符

OFS:输出数据段分隔符

ORS:输出数据行分隔符

$0一行数据,$1——$n各个字段的数据。

1)可以根据模式进行匹配,进一步的可以将匹配限定于特定字段中~

 cat a.txt | awk ‘/2/{print $1}‘

 cat a.txt | awk ‘$1~3{print $1} ‘

甚至还可以对数学表达式和文本进行匹配:

 cat a.txt | awk ‘$1==0{print $1}‘

 cat a.txt | awk ‘$1=="0"{print $1} ‘

2)加入条件判断(上面的模式匹配某种程度上也类似于条件判断)

另外,多条语句要么分成多行来写,要么最好加上分号。

2,相关案例

示例文本

1
2
3
4
5
示例文本a.txt

 

cat a.txt | awk BEGIN{sum=0} {sum=sum+$1} END{print sum}
计算各行数值的和