awk使用技巧

第二列值相同,将第一列值相加

cat ${path}/tls-${day}.txt |awk '{s[$2] += $1}END{for (i in s){print s[i],i}}' > tls-sum-${day}.txt

比较两个文件 ,第二个文件某一列,与第一个文件某一列相同时,打印第二个文件相同列的其他数据;

举个例子:
第一个文件
1
2
3
4
5
6
第二个文件:
1 a A
2 b B
3 c C
4 d D
5 e E
6 f F
7 g G

awk 'NR==FNR{a[$1];next}{if($1 in a) {print $2}}' a.txt b.txt

输出结果 ,$0 输出整行,$2输出第二列值

[root@cyberstor1 demand]# awk 'NR==FNR{a[$1];next}{if($1 in a) {print $0}}' a.txt b.txt 
1 a A
2 b B
3 c C
4 d D
5 e E
6 f F

你可能感兴趣的:(linux,服务器,centos)