大家好,又见面了,我是全栈君。
1.awk工作流程
2.用法
action{}能够有多个语句,以”;”号隔开。
3.awk内置变量
命令行參数个数
命令行參数排列
支持队列中系统环境变量的使用
awk浏览的文件名称
浏览文件的记录数
设置输入域分隔符,等价于命令行 -F选项
浏览记录的域的个数
已读的记录数
输出域分隔符
输出记录分隔符
控制记录分隔符
4.awk内置字符串函数
在整个$0中用s替代r
gsub(r,s,t)
在整个t中用s替代r
index(s,t)
返回s中字符串t的第一位置
length(s)
返回s长度
match(s,r)
測试s是否包括匹配r的字符串
split(str,array,fs )
在fs上将s分成序列a
sprint(fmt,exp)
返回经fmt格式化后的exp
sub(r,s)
用$0中最左边最长的子串取代s
substr(s,p)
返回字符串s中从p開始的后缀部分
substr(s,p,n)
返回字符串s中从p開始长度为n的后缀部分
5.BEGIN和END
6.条件语句
if (expression) { statement; statement; ... ... } if (expression) { statement; } else { statement2; } if (expression) { statement1; } else if (expression1) { statement2; } else { statement3; }
7.数组
awk -F ':' 'BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i < NR; i++) print i, name[i]}' /etc/passwd root daemon bin sys sync games ......
awk -F’\t’ ‘{ a[$1]++ }’END'{ for(j in a) print a[j],j }’ filename | sort -rn | more
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116223.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...