awk的运行模式:
awk ‘条件类型1{动作1} 条件类型2{动作2}...’ filename
awk的处理流程:
1。读入第一行,并将第一行的数据填入$0,$1,$2等变量当中;
2。依据条件类型的限制,判断是否需要进行后面的动作;
3。做完所有的动作与条件类型;
4。若还有后续的“行”的数据,则重复上面1~3的步骤,直到所有的数据都读完为止。
范例1:若想取出帐号与登录者的IP,且帐号与IP之间以[tab]隔开.
last -n 5 | awk '{print $1 "\t" $3}'
范例2:列出每一行的帐号;列出目前处理的行数;并且说明,改行有多少字段。
last -n 5 | awk '{print $1 "\t lines: " NR "\t columes: " NF}'
范例3:查阅第三列小于10以下的数据,并且仅列出帐号与第三列。
cat /etc/passwd | \
awk '{FS=":"} $3 < 10 {print $1 "\t" $3}'
范例4:承上例,从第一行开始生效。
cat /etc/passwd | \
awk 'BEGIN {FS =":"} $3 < 10 {print $1 "\t" $3}'