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…

  • 相关阅读:
    shell中逻辑与的两种表示方法
    Git学习之Git恢复进度
    RH318之域控服务器
    《征服C指针》读书笔记
    2013年:一个技术领导的启程
    sqlite的一个Unable to Open database file的坑爹错误
    我的2013——青春的躁动
    C/C++注册动态对象到Lu系统并进行运算符重载
    Geeks面试题:Min Cost Path
    Leetcode Gray Code
  • 原文地址:https://www.cnblogs.com/TheNeverLemon/p/11350858.html
Copyright © 2011-2022 走看看