awk是行处理器: 相比较屏幕处理的优势,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,一般用来格式化文本信息spa
awk处理过程: 依次对每一行进行处理,而后输出内存
awk -F':' '/root/ {print $1}' 1.txt -F指定分隔符(默认以空白字符为分隔符);print打印;printf不换行打印;$n第n段;$0 整行;/root/筛选有root的行并打印第一段 awk
awk -F ':' '/root|user/ {print $1}' 1.txt 筛选有root或者user的行,以:分割段,打印每行第一段。循环
awk -F':' '{print $1}' 1.txt 以:为分隔符,打印每行第一段。文件
awk -F ':' '$3=="0" {print $1}' 1.txt 筛选第三段等于字符零的ASCII码的行,打印第一段 co
awk -F ':' '$3==0 {print $1}' 1.txt 筛选第三段等于数字0的行,打印第一段字符
awk -F':' '$1 ~ /oo/' 1.txt 以:分割,筛选第一段包含oo的行 数字
awk -F':' '{OFS="#"} {print $1,$2}' {OFS="#"}指定输出分割符,输出字段多时用,少时直接{print $1"#"$2}分割
{print NR}行号printf
{print NF}段号
awk -F':' '{(sum=sum+$3)} ;END {print sum}' 1.txt 第三段求和,END循环结束以后再操做的语句