zoukankan      html  css  js  c++  java
  • Shell脚本grep命令

    三剑客:grep  sed  awk

      grep:文本行过滤工具

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

      awk: 报告生成器,输出格式化

    grep包含三个命令:

      grep egrep fgrep 。他们是用来进行行模式匹配的

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

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

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

    grep的用法:

      grep [option] …PATTERN [filename]

    grep的常用选项:

    -E

    支持使用扩展正则表达式

    -P

    使用perl语言的正则表达式引擎进行搜索(每一种语言的)

    -I

    忽略大小写

    -o

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

    -v

    进行反选

    --color=auto

    语法着色

    -n

    显示行号

    pattern--正则表达式:  

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

      1.字符匹配:

        . 任意一个字符 ?

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

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

        字符类:[:digit:]  [:alnum:]  [:alpha:]  [:lower:] [: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*  abccccc abc我们要看成一个整体

        ()  示例:(abc)*  abcabcabc  abcccc

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

        (((2(5[0-5]|[0-4]d))|[0-1]?d{1,2})(.((2(5[0-5]|[0-4]d))|[0-1]?d{1,2})){3})

  • 相关阅读:
    实验四 Linux系统搭建C语言编程环境
    实验三 Linux系统用户管理及VIM配置
    实验二 Linux系统简单文件操作命令
    《Linux命令行与shell脚本编程大全》勘错
    考研英语每天一段阅读理解
    仓储管理系统500bug记录一下mysql 8小时超时解决办法
    win7 64位4GB内存下 tomcat7扩大内存
    解决远程连接mysql错误1130代码的方法
    win7 64 位 tomcat 定时重启脚本
    通过Navicat for MySQL远程连接的时候报错mysql 1130
  • 原文地址:https://www.cnblogs.com/shy13138/p/11363812.html
Copyright © 2011-2022 走看看