您的位置:首页 > 其它

日志分析常用工具(一) —— awk

2014-11-27 10:17 281 查看
awk是linux上最常用的文本分析工具,对于标准化的日志输出,可以使用awk分析

记录一些常用操作

1. 打印某列

awk '{print $1,$3,$5}'  file

2. 某列求和

awk '{print x+=$1}END{print x}' file

3. if else 

awk  '{ if ($1 + "0" > 1000) {print $1}  else {print $2} }'

4. 针对某列去重

awk  '{if (a[$1] != 0) print; else a[$1]}'

5. 两文件取交集 

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

首先NR==FNR对文本a进行处理,把$1的值作为下标放入数组a,next不会执行后面的语句,一直读到文本b不满足NR==FNR条件,这时判断文本b的$1是否存在于数组a中的下标中,显然文本b的第一行的$1是存在于数组a的下标中的,那么条件为真

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  awk 求和 交集 if else