• shell_day04


    1、    grep程序

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

      grep -- 文本 行过滤工具

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

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

    grep:

      包括三个命令:grep egrep fgrep。它们是用来进行行模式(pattern)匹配的

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

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

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

    grep的用法:

      grep [option] pattern [filename]

    grep的常见选项:

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

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

      -i 忽略大小写

      -v 进行反选

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

      --color=auto 语法着色

       -n 显示行号

       -w 匹配固定的单词

    pattern-正则表达式

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

       回顾:文件通配符

      * ?[] [^ ]

      1. 字符匹配

        . 任意一个字符

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

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

        字符类: [:digit:]。。。。。

      2. 次数匹配

        *  匹配前一个字符0次到n次

        ? 匹配前一个字符0次到1次

        + 匹配前一个字符1次到n次

        {m} 匹配前面的字符m次

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

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

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

      3. 位置锚定

        ^ 锚定行首

        $ 锚定行尾

         锚定词首和锚定词尾

        > 锚定词尾

        < 锚定词首

      4. 分组

        () eg:(abc)* 此时我们将abc看做整体

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

  • 相关阅读:
    Python()- 面向对象的组合用法
    HASHMAP 深入解析
    java深入解析
    centos 防火墙关闭/开启
    idea讲web项目部署到tomcat,热部署
    idea真不习惯啊
    JetbrainsCrack
    js 模块化
    JavaWeb中session创建与销毁的问题
    前端导出文件功能document.execCommand命令
  • 原文地址:https://www.cnblogs.com/TheNeverLemon/p/11350858.html
Copyright © 2020-2023  润新知