Linux awk命令的正則表達式使用

正則表達式用斜線括起來, /字符串/。如下爲幾個經常使用規則:正則表達式


匹配

使域號匹配表達式,使用符號'~'後緊跟正則表達式,也可使用if語句。awk中if語句後面的條件用()括起來。spa

  1. awk '{if($4~/字符串/) print $0}' readfile  //若是域4包含匹配的字符串,打印整句  
  2. awk '{$0 ~ /字符串/'} readfile //若是記錄包含匹配的字符串,打印整句  

精確匹配

  1. awk '{if($3 ~ /字符串/) print $0}' readfile    //包含字符串的全部記錄都匹配,不精確  
  2. awk '$3 == "字符串" {print $0}' readfile   //確保只有字符串得以匹配,精確匹配  

不匹配

  1. awk '{if($4 !~ /匹配字符串/) print $0}' readfile  

小於

  1. awk '{if($6<$7) print "xxx"}' readfile  

小於等於

  1. awk '{if($6<=$7) print "xxx"}' readfile  

大於

  1. awk '{if($6>$7) print "xxx"}' readfile  

設置大小寫

爲查詢大小寫信息,可使用[ ]符號字符串

  1. awk '/[Gg]reen/' readfile   //匹配green Green的行  

任意字符

  1. awk '$1 ~/^...a/' readfile  //抽取域1,其記錄第一域的第四個字符時a  

或關係匹配

使用或關係符時,語句必須用圓括號括起來awk

  1. awk '$0 ~ /(字符串1|字符串2)/' readfile   //匹配|兩邊模式之一  

行首

  1. awk '/^字符串/' readfile  

其餘

&&   AND:語句兩邊必須同時爲真file

||  OR:語句兩邊同時或其中一邊匹配爲真
! 非 求逆查詢

相關文章
相關標籤/搜索