awk 字符串函数
gsub(r,s) 在整个$0中用s替代rgsub(r,s,t) 在整个t中s替代rindex(s,t) 返回s中字符串t的第一个位置match(s,r) 测试s是否包含匹配r的字符串split(s,a,fs) 在fs上将s分成序列asprint(fmt,exp) 返回经fmt格式化后的expsub(r,s) 用$0中最左边最长的字符串代替ssubstr(s,p) 返回字符串s中从p开始的后缀部分substr(s,p,n) 返回字符串s中从p开始长度为n的后缀部分awk内置变量
ARGC 命令行参数个数ARGV 命令行参数排列ENVIRON 支持队列中系统环境变量的使用FILENAME awk浏览的文件名FNR 浏览文件的记录数FS 设置输入域分隔符,等价于命令行-F选项NF 浏览记录的域个数NR 已读的记录数OFS 输出域分隔符ORS 输出记录分隔符RS 控制记录分隔符转义字符
\b 退格键\t tab键\f 走纸换页\ddd 八进制值\n 新行\c 任意其他特殊字符,例如\\为反斜线符号\r 回车键printf修饰符
%c ASCII字符%d 整数%f 浮点数%e 浮点数,科学记数法%g awk决定使用那种浮点数转换e或者f%o 八进制数%s 字符串%x 十六进制数#以:为分隔符,左对齐10个字符,如果不够后边补零,打印第一个域和第7个域的字符串并且换行 cat /etc/passwd | awk 'FS=":" {printf "%-10s %s\n",$1,$7}'