grepRegex小記 對某一行內容尋找: 20130921 23:49:18 221.179.36.27 http://dsfafdfessafsdfasdaf/search.htm?q=%E5%A5%B3%E8%A3%85%E7%A7%8B%E8%A3%85%E8%BF%9E%E8%A1%A3%E8%A3%99&pid=mm_43496014_4148986_13478587&ttid=momo_mZPlutzDp9DL30q0-QuSNg& s8safbdo.com 200 46175 A2E08AFDAB132C1800011CSY cmwap 10.114.215.79 GPRS/EDGE GET application/vnd.wap.xhtml+xml; charset=utf-8 1 NONE Mozilla/5.0 (Linux; U; Android 4.1.1; zh-CN; DXG111_3 Build/JRO03C) AppleWebKit/534.31 (KHTML, like Gecko) UCBrowser/9.2.4.329 U3/0.8.0 Mobile Safari/534.31 01 63632 52176 一、對其中的 1 NONE尋找:grep -Ec '[\d\D]*(1\s*NONE)[\d\D]*' wk_access.log.20130921v.tmp 二、對其中的 01 尋找:grep -c '[[:space:]]01[[:space:]]' wk_access.log.20130921v.tmp 涉及知識點:grep基本Regex、擴充Regex、posix字元 posix字元 為了在不同國家的字元編碼中保持一至,POSIX(The Portable Operating SystemInterface)增加了特殊的字元類,如[:alnum:]是A-Za-z0-9的另一個寫法。要把它們放到[]號內才能成為Regex,如[A-Za-z0-9]或[[:alnum:]]。在linux下的grep除fgrep外,都支援POSIX的字元類。 [:alnum:]文字數字字元 [:alpha:]文字字元 [:digit:]數字字元 [:graph:]非Null 字元(非空格、控制字元) [:lower:]小寫字元 [:cntrl:]控制字元 [:print:]非Null 字元(包括空格) [:punct:]標點符號 [:space:]所有空白字元(新行,空格,定位字元) [:upper:]大寫字元 [:xdigit:]十六進位數字(0-9,a-f,A-F)