日志统计中awk常见的运用


前言首先awk是一门语言,其次跟其他语言相比,awk的优势是在文本处理、数值计算等方面,在我们日常的运维工作中,awk还有1个很重要的场景是配合sed、grep的使用,正是因为这些,awk是运维工程师最常用的工具之一,下面记录一下,awk在日志收集、统计场景的一些最常用的姿势。
awk使用格式awk [-F value] [-v var=value]
‘program text’ [files….]
program text:
BEGIN {actions}/pattern/{actions}END{actions}
内置变量
FS–Field
Separator:
域的分隔符,默认的是以空白符分隔
RS–Record
Separator
记录的分隔符,默认是以换行符来分隔
FILENAME
— current filename
NF — Number of
Feilds in current record,域的个数
NR
— Number of Record
输入的记录数,相当于行号一样,多个文件时会接着递增
FNR
— File Number of Record
输入的当前记录数,每个文件单独计算
$0
the
whole record
当前整个记录
$n —
the nth field of the current record
当前记录的第n个域
awk常用函数1、split (string, array, field separator)2、substr(s,p,n) 返回字符串s中从p开始长度为n的后缀部分3、length函数返回没有参数的字符串的长度4、gsub(regular expression, subsitutionstring, target string)

awk扩展使用awk[options] ‘script’ FILES
选项
F:字段分隔符
v:声明一个变量,FS=:
awk‘{print $1 $2}’ a.txt:则显示welcometo
awk‘{print $1,$2}’ a.txt:则显示wlecometo
————–
内置变量
ORS

OFS


FS


RS


NR


NF


FNR


ARGV:
数组,保存命令行本身这个字符串,如awk‘{print $0}’ a.txt b.txt
这个命令中,ARGV[0]保存awk,ARGV[1]保存a.txt
ARGC:awk命令的参数个数
—————-
printf命令的使用格式
printfformat,item1
要点:
1、其与print命令最大的不同是,printf需要指定format
2、format用于指定后面的每个item的输出格式
3printf语句不会自动打印换行符
format格式的指示符:
%c:显示字符的ASCII
%d,%i十进制的整数
%e,%E科学计数法显示数值
%f:显示浮点数
%g,%G以科学计数法的格式或浮点数的格式显示数值
%s:显示字符串
%u:无符号整数
%%:显示%自身

修饰符:
N:显示宽度
:左对齐
+:显示数值符号
1,统计squid日志中各个状免费云主机域名态码所占的百分比

2,统计squid日志中访问次数前10的域名3,统计最近5分钟的流量日志:27.156.95.175 uc.a.yximgs.com “p_w_picpath/webp” [25/Dec/2016:22:17:01 +0800] “GET http://uc.a.yximgs.com/upic/2016/11/27/11/BMjAxNjExMjcxMTIxMTNfODY2MTM1NV8xMzAxODgwMDQ4XzJfMw==_low.webp?tag=1-1482675421-f-0-8a7txqz36n-ce40124930229f39 HTTP/1.1” 200
4,MISS的域名请求数top10统计

相关推荐: rpm -Va的含义是什么

这篇文章主要讲解了“rpm -Va的含义是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“rpm -Va的含义是什么”吧!rpm -Va:校验所有的RPM软件包,查找丢失的文件说明:S 表示文件长度发生了变化…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/24 22:07
下一篇 01/24 22:07