AWK
1.begin end使用
cat /tmp/passwd |awk -F ':' 'BEGIN {print "hello"} {print $1" "$3} END {print "ending"}'
2.匹配
[root@zeus tmp]# cat /tmp/passwd |awk -F ':' 'BEGIN {print "hello"} /root/{print $1" "$3} END {print $2}'
hello
root 0
operator 11
x
3.printf
[root@zeus tmp]# cat /tmp/passwd |awk -F ':' '/root/{printf("%s %s %s ",NR,$1,$2)}'
1 root x
10 operator x
4.变量:
[root@zeus tmp]# ls -l|awk 'BEGIN {row=0;} {row++;} END {printf("total: %s ",row)}'
total: 24
5.判断
[root@zeus tmp]# ls -l|awk 'BEGIN {row=0;} {print $3;if($3=="root"){row++;}} END {printf("total: %s ",row)}'
6.循环
awk -F ':' 'BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i < NR; i++) print i, name[i]}' /etc/passwd