grep正则表达式小记


grep正则表达式小记
 
对某一行内容查找:
 
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基本正则表达式、扩展正则表达式、posix字符
 
posix字符
 
为了在不同国家的字符编码中保持一至,POSIX(The Portable Operating SystemInterface)增加了特殊的字符类,如[:alnum:]是A-Za-z0-9的另一个写法。要把它们放到[]号内才能成为正则表达式,如[A-Za-z0-9]或[[:alnum:]]。在linux下的grep除fgrep外,都支持POSIX的字符类。
 
[:alnum:]
文字数字字符
 
[:alpha:]
文字字符
 
[:digit:]
数字字符
 
[:graph:]
非空字符(非空格、控制字符)
 
[:lower:]
小写字符
 
[:cntrl:]
控制字符
 
[:print:]
非空字符(包括空格)
 
[:punct:]
标点符号
 
[:space:]
所有空白字符(新行,空格,制表符)
 
[:upper:]
大写字符
 
[:xdigit:]
十六进制数字(0-9,a-f,A-F)

相关内容

    暂无相关文章