zoukankan      html  css  js  c++  java
  • 07 grep 正则

    grep

    用于过滤的命令

    参数 作用
    -i(常用) 搜索时,忽略大小写
    -c(常用) 统计过滤成功的行数
    -l 只列出符合匹配的文件名,不列出具体的匹配行
    -n(常用) 列出所有的匹配行,显示行号
    -h 查询多文件时不显示文件名
    -s 不显示不存在、没有匹配文本的错误信息
    -v 显示不包含匹配文本的所有行(取反)
    -w(常用) 匹配整词
    -x 匹配整行
    -r 递归搜索
    -q(常用) 禁止输出任何结果,已退出状态表示搜索是否成功
    -b 打印匹配行距文件头部的偏移量,以字节为单位
    -o 与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位
    -A 2 显示的时候加上后两行
    -B 2 显示的时候加上前两行
    -C 2 显示的时候增加前后两行
    #语法
    grep [选项] [正则] [文件]
    
    #案例
    [root@tencent_cloud test]# grep -rl "nginx" /etc/nginx/
    /etc/nginx/koi-utf
    /etc/nginx/nginx.conf
    /etc/nginx/win-utf
    /etc/nginx/fastcgi_params
    #可以通过关键字查找相关的配置文件,当然也可以用rpm -qc nginx
    

    正则表达式用法

    符号 作用
    ^ 匹配从头开始对(中括号外)(中括号内是取反的意思)
    $ 匹配从尾开始对
    . 匹配任意一个字符
    * 左边的字符出现0次或无穷次
    .* 匹配所有的,默认是匹配到最远的
    .*? 匹配所有的,改为非贪婪匹配,需要指定-P
    [ ] 匹配指定范围的任意一个字符
    + 左边的字符出现1次或无穷次(egrep / grep -E才好用)
    [^] 对字符组内的每个字符取反(不匹配字符组内的每个字符)
    [] 非字符组内的字符开头的行

    拓展正则

    # 扩展正则元字符
    +					匹配一个或多个前导字符		   [a-z]+ove	
    ?					匹配零个或一个前导字符		   lo?ve	
    a|b					匹配a或b					love|hate
    ()					组字符						love(able|rs)  (egon)+
    (..)(..)12		标签匹配字符				  (love)able1er
    x{n}			    x出现n次				    e{3}		
    x{n,}			    x出现n次至无穷次			  e{3,}
    x{n,m}		        x出现n次至m次			   e{3,6}
    < 单词头 单词一般以空格或特殊字符做分隔,连续的字符串被当做单词
    > 单词尾
    [root@egon ~]# netstat -an |grep -w 80
    tcp6       0      0 :::80                   :::*                    LISTEN    
    [root@egon ~]# netstat -an |grep  '<80>'
    tcp6       0      0 :::80                   :::*                    LISTEN    
    [root@egon ~]# netstat -an |grep  '80'
    tcp6       0      0 :::80                   :::*                    LISTEN  
    # 若想使用扩展正则
    grep加-E 或 egrep 或转义
    
    sed 加 -r 参数 或转义
    
    AWK 直接支持大多数扩展正则,更多支持需要加选项--posix选项
    
  • 相关阅读:
    jquery validate自定义checkbox验证规则和样式
    【转】maven导出项目依赖的jar包
    maven web项目build失败
    【转】maven仓库快速镜像
    【转】javax.net.ssl.SSLHandshakeException(Cas导入证书)
    Maven发布web项目到tomcat
    tomcat启动是报Multiple Contexts have a path of "/XXX"
    spring无法扫描jar包的问题
    CAS单点登录之mysql数据库用户验证及常见问题
    搭建CAS单点登录服务器
  • 原文地址:https://www.cnblogs.com/zhaokunhao/p/14899996.html
Copyright © 2011-2022 走看看