zoukankan      html  css  js  c++  java
  • 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…

  • 相关阅读:
    matplotlib数据可视化之柱形图
    xpath排坑记
    Leetcode 100. 相同的树
    Leetcode 173. 二叉搜索树迭代器
    Leetcode 199. 二叉树的右视图
    Leetcode 102. 二叉树的层次遍历
    Leetcode 96. 不同的二叉搜索树
    Leetcode 700. 二叉搜索树中的搜索
    Leetcode 2. Add Two Numbers
    Leetcode 235. Lowest Common Ancestor of a Binary Search Tree
  • 原文地址:https://www.cnblogs.com/TheNeverLemon/p/11350858.html
Copyright © 2011-2022 走看看