访问手机版  

Linux常用命令|Linux培训学习|考试认证|工资待遇与招聘,认准超级网工!

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > linux > 热点关注 > linux常用命令

Linux统计日志相关命令

时间:2019-07-18

linux命令_linux命令_linux命令手册

对于运维或者开发人员来源,对于日志的统计和搜索是必会的技能,甚至在面试的时候是必问的问题,对此,做一下总结。

一、常用到的命令

1、cat

2、awk

具体见

一、语法形式

awk [options] 'script' var=value file(s)

awk [options] -f scriptfile var=value file(s)

常用命令选项

-F fsfs指定输入分隔符,fs可以是字符串或正则表达式,如-F:

-v var=value赋值一个用户定义变量,将外部变量传递给awk

-f scripfile从脚本文件中读取awk命令

-m[fr] val对val值设置内在限制,-mf选项限制分配给val的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。

二、awk内置变量(预定义变量)

说明:[A][N][P][G]表示第一个支持变量的工具,[A]=awk、[N]=nawk、[P]=POSIXawk、[G]=gawk

$n 当前记录的第n个字段,比如n为1表示第一个字段,n为2表示第二个字段。

$0 这个变量包含执行过程中当前行的文本内容。

[N] ARGC 命令行参数的数目。

[G] ARGIND 命令行中当前文件的位置(从0开始算)。

[N] ARGV 包含命令行参数的数组。

[G] CONVFMT 数字转换格式(默认值为%.6g)。

[P] ENVIRON 环境变量关联数组。

[N] ERRNO 最后一个系统错误的描述。

[G] FIELDWIDTHS 字段宽度列表(用空格键分隔)。

[A] FILENAME 当前输入文件的名。

[P] FNR 同NR,但相对于当前文件。

[A] FS 字段分隔符(默认是任何空格)。

[G] IGNORECASE 如果为真,则进行忽略大小写的匹配。

[A] NF 表示字段数,在执行过程中对应于当前的字段数。

[A] NR 表示记录数,在执行过程中对应于当前的行号。

[A] OFMT 数字的输出格式(默认值是%.6g)。

[A] OFS 输出字段分隔符(默认值是一个空格)。

linux命令_linux命令_linux命令手册

[A] ORS 输出记录分隔符(默认值是一个换行符)。

[A] RS 记录分隔符(默认是一个换行符)。

[N] RSTART 由match函数所匹配的字符串的第一个位置。

[N] RLENGTH 由match函数所匹配的字符串的长度。

[N] SUBSEP 数组下标分隔符(默认值是34)。

打印每一行的第二和第三个字段:

awk '{ print $2,$3 }' filename

统计文件中的行数:

awk 'END{ print NR }’ filename

三、awk的工作原理

②awk 'begin{ print "start" } pattern{ commands } end{ print "end" }' file(s)。awk 'begin{ print "start" } pattern{ commands } end{ print "end" }' file(s)。awk 'begin {print "begin: " var} {print "process: " var} end {print "end: " var }' a var=1 。

第一步:执行BEGIN{ commands }语句块中的语句;

第二步:从文件或标准输入(stdin)读取一行,然后执行pattern{ commands }语句块,它逐行扫描文件,从第一行到最后一行重复这个过程linux命令,直到文件全部被读取完毕。