Operator | Description |
---|---|
~ | Match operator |
!~ | no Match operator |
当你使用==条件,awk视为全部匹配。下面的例子不打印任何信息,在items.txt文件执行匹配关键字Tennis. Tennis Racket 不是完全匹配。
打印字段2是Tennis的行:
$ awk -F "," '$2== "Tennis"' items.txt
当你使用匹配操作符~,awk视为一个局部匹配,例如 它视一个字段包含匹配字符串。
打印字段2包含Tennis的行:
$ awk -F "," '$2 ~ "Tennis"' items.txt
104,Tennis Racket,Sports,190,20
!~操作符~取反,例如 不包含
打印字段2不包含 Tennis行:
$ awk -F "," '$2 !~ "Tennis"' items.txt
101,HD Camcorder,Video,210,10
102,Refrigerator,Appliance,850,2
103,MP3 Player,Audio,270,15
105,Laser Printer,Office,475,5
下一个例子打印使用/bin/bash作为他们的shell的用户总数。在这个awk脚本里,当一行的最后字段包含pattern /bin/bash时,awk变量n加1
$ awk -F ":" '$NF ~ /\/bin\/bash/ {n++};END{print n}' /etc/passwd
3