1、awk内置字符串函数
gsub(r,s) 在整个$0中,用s代替r
gsub(r,s,t) 在整个t中,用s代替r #替换字符串
index(s,t) 返回s中字符串t的第一位置 #未用过
length(s) 返回s长度 #c语言strlen
match(s,r) 测试s是否包含匹配r的字符串 #c语言strcmp
split(s,a,fs) 使用分隔符fs将字符串s划分为指定序列a
sprint(fmt,exp) 输出经过fmt格式化后的exp
substr(s,p) 返回字符串s中从p开始的后缀部分
substr(s,p,n) 返回字符串s中从p开始的长度为n的后缀部分 #用截取第一个字符串和获取某一段字符串
2、printf格式化输出
.prec 最大字符串长度,或小数点右面的位数
%c ASCII字符
%d 整型
%e 科学计数法
%f 浮点型 #使用小数点后2位%.2f (用于除法后)
%g awk决定哪种浮点数转换e或者f
%o 八进制
%s 字符串
%x 十六进制
awk -F '[ ]' '//api_jsonrpc.php/{ipaddr[$1$7]++}END{for(i in ipaddr){print i,ipaddr[i]}}' access_log #查看/api_jsonrpc.php被访问的次数
netstat -ntp | awk -F '[ :]+' '/[0-9]+/nginx/{if($6 != "127.0.0.1"){print $6}}' #查看nginx服务客户端连接
参考链接:
https://www.cnblogs.com/DengGao/p/5935719.html
https://www.cnblogs.com/emanlee/p/3327576.html
http://www.zsythink.net/archives/tag/awk/