正則表達式用斜線括起來, /字符串/。如下爲幾個經常使用規則:正則表達式
匹配
使域號匹配表達式,使用符號'~'後緊跟正則表達式,也可使用if語句。awk中if語句後面的條件用()括起來。spa
- awk '{if($4~/字符串/) print $0}' readfile //若是域4包含匹配的字符串,打印整句
- awk '{$0 ~ /字符串/'} readfile //若是記錄包含匹配的字符串,打印整句
精確匹配
- awk '{if($3 ~ /字符串/) print $0}' readfile //包含字符串的全部記錄都匹配,不精確
- awk '$3 == "字符串" {print $0}' readfile //確保只有字符串得以匹配,精確匹配
不匹配
- awk '{if($4 !~ /匹配字符串/) print $0}' readfile
小於
- awk '{if($6<$7) print "xxx"}' readfile
小於等於
- awk '{if($6<=$7) print "xxx"}' readfile
大於
- awk '{if($6>$7) print "xxx"}' readfile
設置大小寫
爲查詢大小寫信息,可使用[ ]符號字符串
- awk '/[Gg]reen/' readfile //匹配green Green的行
任意字符
- awk '$1 ~/^...a/' readfile //抽取域1,其記錄第一域的第四個字符時a
或關係匹配
使用或關係符時,語句必須用圓括號括起來awk
- awk '$0 ~ /(字符串1|字符串2)/' readfile //匹配|兩邊模式之一
行首
- awk '/^字符串/' readfile
其餘
&& AND:語句兩邊必須同時爲真file
|| OR:語句兩邊同時或其中一邊匹配爲真
! 非 求逆查詢