awk基本格式
-F知道字段分隔符
-v定义变量
-f 写的awk的程序放在文件里 ‘pattern {action }’
还可以 BEGIN{}pattern{action}END{action}’ file
系统有内置变量
FS=-F 字段的分隔符
OFS 输出的字段的分隔符,默认空格
RS 记录的分割符
ORS 输出的记录分隔符
NF 字段的个数 $NF最后的字段
NR 记录的编号=行号
FNR 如果有多个文件,每个文件进行独立的编号
FILENAME文件名
ARGC参数个数
ARGV[]可以指定第几个参数
可以多个语句放在一起,用;号隔开
深入awk,各种逻辑处理
else后面有多条语句就用花括号括起来,不然只认为执行第一条语句
length函数,用于显示变量的长度是多少,字符数
NF等于字段数
大于10的
用while和dowhile 写一个1+100的语句
c语言风格的for循环,awk的变量是在awk程序里面的,用担心shell 开启子进程
用while和dowhile 写一个1+100的语句
测试哪个语句执行用的时间少,awk效率高
全写出来对你印象深刻,面试题
switch 类似case
continue退出当次循环
break退出整个循环
只加奇数
awk自身带行的循环,读入一行,处理完,再读入一行
next是这一行不处理了,就停止了,直接进入下一行的自身行循环
如果当第三列,对2取模不等于0(奇数),就不执行后续操作 ,就等于只打偶数行的用户名和id
不是并且的关系,是或者的关系
并且的关系、
关联数组和普通数组区别
关联数组的[]里下标格式不是数字的,可以是任意定义格式
普通的数组下标都是数字,0123
awk就认为是关联数组,引用数组如果没有事先创建,会自动创建,并且生成空值
变量也是一样,如果没赋值,就是空
数组的判断 index下标 in arrary数组名,怎么查找关联数组的
用index in arrary遍历的写法
对字符串必须加双引号,不加就成变量了
第一步空字符串取反是1,同时[“aaa”]=’’"+1 =1
去掉了重复的行
有数字不是0 取反都是假就都不打印
sort -u也可以去重
解释上面的语句执行明细
netstat -tan 显示tcp协议的所有链接状态,11种状态,你是有些看不到,因为一下就过去了
并发访问
统计一下每个状态出现了有多少次
ab需要安装install httpd-tools,就可以并发请求
日志里就会记录大量的用户访问