zoukankan      html  css  js  c++  java
  • 学shell的第四天

    grep与正则表达式:

    1、grep程序

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

          grep:文本行过滤工具

          sed:文本行编辑器(流编辑器)

          awk:报告生成器(做文本输出格式化)

      grep:包含三个命令:grep egrep fgrep,他们是用来进行行模式匹配的

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

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

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

      grep的用法:

            grep 【option】 ...  PATTERN【filename】

      grep的常见选项--option

            -E支持使用扩展的正则表达式

            -P使用perl语言的正则表达式引擎进行搜索(每种语言的正则表达式引擎都不相同)

            -i忽略大小写

            -w匹配固定的单词

            -v反选

            -o仅仅输出匹配的内容

            --color=auto 语法着色

            -n显示行号

         PATTERN--正则表达式

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

            1、字符匹配

                  .代表任意一个字符相当于文件通配符的?

                  []范围内的任意一个字符

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

                  字符类:  [:digit:]
                         任意数字, 相当于0-9
                        [:lower]
                         任意小写字母
                        [upper:]
                         任意大写字母
                        [alpha:]
                         任意大小写字母
                        [:alnum:]
                         任意数字或字母
                        [:blank:]|
                         水平空白字符
                        [:space:]
                         水平或垂直空白字符
                        [punct:]
                         标点符号
                         [print:]
                          可打印字符
                         [:cntrl:]
                           控制(非打印)字符
                         [:graph:]
                           图形字符
                          [xdigit:]
                           十六进制字符

            2、次数匹配       ***匹配空白字符^[[:space:]]***

                  *匹配前面的字符0次到无数次

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

                  +匹配千米教案的字符一次到n次

                  {m}配置前面的字符M次

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

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

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

            3、位置锚定

                  ^锚定行首

                  $锚定行尾

                  锚定词首和锚定词尾

                  >锚定词尾

                  <锚定词首

            4、分组

                ()示例:(abc)*    abcabc

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

        扩展正则表达式:

              【标准正则表达式里的都不用加】

               分组 ()

               或     | 

    重要知识点:交互式传参:read -p     #//-t   是等待几秒

      例子:read -p ("请输入一个东西: ")filename

  • 相关阅读:
    基于layui的简易后台管理系统,后期会更新
    java基础语法知识(笔记)——(一)基本变量类型,循环,日期类
    JavaWeb学习总结(笔记)——SSM spring.xml的基本配置
    JavaWeb学习总结(笔记)——SSM中Web.xml文件
    JavaWeb学习总结(笔记)——SSM关键类及其作用
    JavaWeb学习总结(笔记)——关于SSM CRUD上传功能的总结
    JavaWeb——MVC与三层结构
    jquery结合highcharts插件显示实时数据动态曲线图
    jquery结合Highcharts插件实现动态数据仪表盘图形化显示效果
    在IE6/7下表格td标签没有内容时不显示边框?
  • 原文地址:https://www.cnblogs.com/zrxuexi/p/11353164.html
Copyright © 2011-2022 走看看