zoukankan      html  css  js  c++  java
  • shell脚本day04-grep与正则表达式

    一、grep程序

      LINUX下有文本处理三剑客 -- grep sed awk

    •   grep: 文本 行过滤工具
    •   sed: 文本 行编辑器(流编辑器)
    •   awk: 报告生成器,做文本输出格式化

      1.grep包含三个命令:grep egrep fgrep用来进行行模式(pattern)匹配

        egrep = grep -E  //使用扩展的正则表达式进行匹配

        fgrep = fast grep //只使用文件通配符进行匹配

        *grep默认使用正则表达式进行文本匹配*

      2.grep的用法

        -E 支持使用扩展的正则表达式(ERE)(regexp)  

        -p 支持使用perl语言的正则表达式引擎进行搜索(每一种语言的正则表达式引擎都不相同,甚至sed grep awk使用的regxp引擎也不用)

        -i 忽略大小写

        -v 进行反选

        -o 仅仅输出匹配的内容(默认输出 是匹配到的行)

        --color=auto 语法着色

        -n 显示行号

    二、正则表达式--PATTERN

       作用:通过一些特殊字符来表示一类字符内容,然后交给前面的命令来执行;如果使用特殊字符本身的含义,就需要转义

      1.字符匹配

        [] 范围内任意一个字符

        [^] 范围外任意一个字符

        字符类:[:digit:] [:ainum:][:alphe:][:upper:][:space:][:punct:]

      2.字符匹配

        * 匹配到前面字符0次到N次

        ?匹配前面字符0次到1次

        + 匹配前面字符1次到N次

        {m} 匹配前面一个字符m次

        {m,n} 匹配前面的字符m到n次

        {0,n} 匹配前面字符0次到n次

        {m,} 匹配前面的字符至少m次

      3.位置锚定

        ^ 锚定行首

        $ 锚定行尾

         锚定单词词首和锚定词尾

        > 锚定词尾

        < 锚定词首

      4.分组

        abc* 即代表 abcccccc

        () 实例:(abc) 即把abc看作一个整体,即为abcabcabc

        分组特性:默认情况下,Linux系统会为分组指定变量,变量的表示形式123

        

  • 相关阅读:
    http调用接口,并解析返回的xml数据,显示在jsp页面上
    项目与tomcat
    项目依赖和部署
    数据库上操作实例 找到要操作的表---筛选---选中要操作的字段---输入
    端口占用问题
    快捷键
    获取页面上的数据
    布尔类型
    EL表达式
    mac oxs 上查看进程监听的端口号 lsof
  • 原文地址:https://www.cnblogs.com/ljx1/p/11354166.html
Copyright © 2011-2022 走看看