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}‘
计算各行数值的和
测试常用命令之awk篇
时间: 2024-10-31 13:58:08